<!DOCTYPE html>
<html>
<body>
<p>
<ul>
<li id='l1'>1</li>
<li>2</li>
</ul>
</p>
<script>
console.log(document.getElementById('l1').nextSibling)
</script>
</body>
</html>
这里打印出来的按说应该是< li >2< /li>这个元素啊
为什么我再firebug里面看到的是ul整个元素?
巴扎黑2017-04-10 15:15:28
要取得下一个li元素你可以使用console.log(document.getElementById('l1').nextElementSibling)
或者console.log(document.getElementById('l1').nextSibling.nextSibling)
这里说得很详细了。
https://developer.mozilla.org/zh-CN/docs/Web/API/Node/nextSibling
两个li之间还有空白字符,所以第一次nextSibling
获得的是text
类型的元素。