previousSibling只读属性在同一树级别返回指定节点的前一个节点。
如果没有先前的同级,则此属性返回null。
空格被视为文本,文本被视为节点。注释也被视为节点。
为了避免previousSibling返回#text或#comment节点的问题,可以使用previousElementSibling仅返回元素节点。
使用nextSibling属性返回同一树级别中指定节点的下一个节点。
使用childNodes属性可返回指定节点的任何子节点。
node.previousSibling
<div id="div-1">Here is div-1</div> <div id="div-2">Here is div-2</div> <script> var x = document.querySelector("#div-2").previousSibling.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-2").previousSibling.innerHTML; document.getElementById("result").innerHTML = x; </script>测试看看‹/›
所有浏览器完全支持previousSibling属性:
属性 | |||||
previousSibling | 是 | 是 | 是 | 是 | 是 |
返回值: | 一个Node对象,表示节点的先前同级;如果没有先前同级,则为null |
---|---|
DOM版本: | DOM级别1 |
HTML DOM参考:node.childNodes属性
HTML DOM参考:node.firstChild属性
HTML DOM参考:node.lastChild属性
HTML DOM参考:node.parentNode属性
HTML DOM参考:node.nextSibling属性
HTML DOM参考:node.nodeName属性