<li id="a">javascript</li> 和 <li id="b">jquery</li>之间不是有一个空白节点吗?为什么显示的答案是LI = jquery ?
两个节点中间的空白节点难道不是第一给节点的下一个节点吗?
两个节点中间的空白节点难道不是第一给节点的下一个节点吗?
2015-09-18
空白节点的确是第一个节点的下一个节点,但请读懂得课程中下面这段代码.
x.nodeType!=1 ,限定了当下一个节点为非元素节点(元素节点nodeType值为1)时,会找到它紧跟的下一个元素节点并返回。而空白节点实质属于文本节点,其nodeType值为3.
总之使用了get_nextSibling,在获取下一个节点时,当下一个节点为非元素节点时,会直接获取它最近的下一个元素节点。
function get_nextSibling(n){ var x=n.nextSibling; while (x && x.nodeType!=1){ x=x.nextSibling; } return x; }
举报