例如:
<div id="div1">
<div>
<div>
</div>
</div>
<div>
<div>
</div>
</div>
</div>
在这种情况下我只想取到#div1下的子元素的div,不包括这些子div的更子级的div,该如何做到.
例如:
<div id="div1">
<div>
<div>
</div>
</div>
<div>
<div>
</div>
</div>
</div>
在这种情况下我只想取到#div1下的子元素的div,不包括这些子div的更子级的div,该如何做到.
javascript
var children = document.getElementById('div1').childNodes, output = [] for (var i = 0, ii = children.length; i < ii; i++) { output.push(children[i].nodeName) } console.log(output)
4楼的方法兼容,但是需要加上nodeType的判断,不然文本结点(TextNode)也会被查出来,如:
var $d = document.getElementById('div1'),
$childs = $d.childNodes,
results = [];
for(var i = 0,len = $childs.length; i < len; i++){
if($childs[i].nodeType === 1){
results.push($childs[i]);
}
}
console.log(results);
当然也可以使用nextSibling进行查找 :)
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
document.getElementById('div1').children