nextSibling属性返回元素节点之后紧跟的兄弟节点(包括文本节点、注释节点即回车、换行、空格、文本等等)。
如果没有下一个同级,则此属性返回null。
空格被视为文本,文本被视为节点。注释也被视为节点。
为了避免nextSibling返回#text或#comment节点的问题,可以使用nextElementSibling仅返回元素节点。
使用previousSibling属性可以返回指定节点在同一树级别中的上一个节点。
使用childNodes属性可返回指定节点的任何子节点。
node.nextSibling
<div id="div-1">Here is div-1</div> <div id="div-2">Here is div-2</div> <script> var x = document.querySelector("#div-1").nextSibling.nodeName; document.getElementById("result").innerHTML = x; </script>测试看看‹/›
但是,如果删除DIV之间的空格,则返回值将不是#text:
<div id="div-1">Here is div-1</div><div id="div-2">Here is div-2</div> <script> var x = document.querySelector("#div-1").nextSibling.innerHTML; document.getElementById("result").innerHTML = x; </script>测试看看‹/›
所有浏览器完全支持nextSibling属性:
属性 | |||||
nextSibling | 是 | 是 | 是 | 是 | 是 |
返回值: | 一个Node对象,代表节点的下一个同级;如果没有下一个同级,则为null |
---|---|
DOM版本: | DOM级别1 |
HTML DOM参考:node .childNodes属性
HTML DOM参考:node .firstChild属性
HTML DOM参考:node .lastChild属性
HTML DOM参考:node .parentNode属性
HTML DOM参考:node .previousSibling属性
HTML DOM参考:node .nodeName属性