<!DOCTYPE html>
<html>
<body>
<div>
<ul>
<li id='l1'>1</li>
<li>2</li>
</ul>
</div>
<script>
console.log(document.getElementById('l1').nextSibling)
</script>
</body>
</html>
这里打印出来的按说应该是< li >2< /li>这个元素啊
为什么我再firebug里面看到的是ul整个元素?
<!DOCTYPE html>
<html>
<body>
<div>
<ul>
<li id='l1'>1</li>
<li>2</li>
</ul>
</div>
<script>
console.log(document.getElementById('l1').nextSibling)
</script>
</body>
</html>
这里打印出来的按说应该是< li >2< /li>这个元素啊
为什么我再firebug里面看到的是ul整个元素?
13 回答13.1k 阅读
7 回答2.2k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
6 回答1.2k 阅读
要取得下一个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
类型的元素。