check box內容展不開

edited 十月 2013 in Javascript
我用javascript做了一個點選checkbox則可以展開底下內容的網頁, 但是奇怪的是裡面有些項目卻展不開, 可是我確定在他的底下是有內容的, 因為我開網頁原始碼看是有的, 只是往誒上不知為何就是展不開, 以下是我的javascript程式碼:
function TFBSBackgroundColor(tfbs,color,tfid)
{
var obj=document.getElementsByName(tfbs);
var ooo=document.getElementById('checkbox_'+tfbs);
var len = obj.length;
var checked = false;

for (i = 0; i < len; i++) //後來發現問題在這一行! 展不開的是因為len=0!!
{
if ( ooo.checked )
{
document.getElementsByName(tfbs).style.backgroundColor='#'+color;
$("#tfid"+tfid).show();
}
else
{
document.getElementsByName(tfbs).style.backgroundColor="";

$("#tfid"+tfid).hide();
}

然後我的問題是len = obj.length 是甚麼? 其實這個javascript是抄別人的, 我本身並不是很懂javascript, 查網路說是"數組的長度", 我不是很懂這是甚麼意思, 也不懂為何明明有資料卻有東西會是0?
因為要詳細解釋我所有程式的內容實在很困難, 因為需要用到我資料庫的東西, 所以不太可能放在這裡讓各位做測試, 所以只能貼這麼一小段程式麻煩各位幫我想想看可能的問題所在, 我在自己試試了, 謝謝!

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=6513

評論

  • edited 二月 2012
    var obj=document.getElementsByName(tfbs);//getElementsByName會返回一個陣列(數組),包含所有含有指定name的元素集合
    陣列在JS中是物件的一種,他可以混用屬性
    所以len=0,表示頁面中沒有認何元素符合指定名稱
Sign In or Register to comment.