<!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整个元素?
欢迎选择我的课程,让我们一起见证您的进步~~
要取得下一个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
console.log(document.getElementById('l1').nextElementSibling)
console.log(document.getElementById('l1').nextSibling.nextSibling)
两个li之间还有空白字符,所以第一次nextSibling获得的是text类型的元素。
nextSibling
text
要取得下一个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
类型的元素。