2014-01-27 78 views
1

我想隱藏容器div部分內的所有div免除第一個。JavaScript隱藏基於子節點列表不能正常工作的div

這裏是我的html:

<div id="main"> 
    <div id="first"> 
     First div 
    </div> 
    <div id="second"> 
     Second div 
    </div> 
    <div id="third"> 
     Third div 
    </div> 
</div> 

這裏是我的JavaScript:

function hide(){ 
    var target = document.getElementById("main"), 
     childList = target.childNodes, 
     i = 1; 
    for(; i < childList.length; i++){ 
     if(childList[i].nodeName !== "#text"){ 
      childList[i].style.display = 'none'; 
     }; 
    }; 
} 

看來,這應該工作,並隱藏所有div免除第一個...但事實並非如此。它隱藏了所有的元素。控制檯中沒有錯誤。

我該如何解決這個問題?

謝謝。

+1

第一個子節點是不是你想的是 - 它是你的_actually_第一div元素之前的空白文本節點。 – CBroe

回答