html文档如下:
<div id="box">
<ul id="ul">
<li>第一个</li>
<li id="one">第二个</li>
<li>第三个</li>
</ul>
<p>我是第二个子节点</p>
</div>
nextSibling:下一个兄弟节点(包括文本节点,元素节点,注释节点);
var one = document.getElementById("one"); console.log(one.nextSibling.nodeType);//3 文本节点
nextElementSibling:下一个兄弟元素节点;(只包括元素节点);
var one = document.getElementById("one"); console.log(one.nextElementSibling.nodeType);//1 元素节点
nextSibling模拟nextElementSibling:
function myNext(ele){ if(ele.nextElementSibling != undefined){ return ele.nextElementSibling; }else{ var item = ele.nextSibling; while(item && item.nodeType != 1){ item = item.nextSibling; } return item; } } var one = document.getElementById("one"); console.log(myNext(one).innerHTML);//第三个;