HTML DOM previousSibling 属性

HTML DOM Element 对象

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属性

HTML DOM Element 对象