我试图隐藏容器div部分内的所有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免除第一个......但事实并非如此。它隐藏了所有元素。控制台中没有错误。
我该如何解决这个问题?
谢谢。
答案 0 :(得分:2)
您正在使用childNodes而不是子节点。在这种情况下,你应该使用孩子。
childList = target.children
看看这个答案:What is the difference between children and childNodes in JavaScript?