这么多混淆,只有很少的答案。我试图通过DOM循环,通过id寻找一个特定的节点,但是,这段代码有几个问题,我没有解释。首先,childNodes列表的长度为'5'。两个“ul”,两个“id”,如果这些数字...和一个运气?使用javascript检测HTML DOM中元素的属性
其次,它死于if(y[i].hasAttribute('id')===true)
。 Firebug说这不是一个功能。我没有理由不相信,但我不确定它为什么不相信。
谢谢你的帮助。
<div id="list">
<ul id="first"></ul>
<ul id="second"></ul>
</div>
<script>
var comments=document.getElementById('list')
var y=comments.childNodes;
var count=y.length
for(i=0;i<count;i++)
{
document.write(y.length);
if(y[i].hasAttribute('id')===true)
{ document.write('here!');}
}
</script>
也许尝试:'if(y [i] .nodeType === 1 && y [i] .hasAttribute('id')=== true){'这样你只能检查'Element'节点。 **或者**,使用'var y = comments.children;'只能遍历'Element' nodex。 – Ian