previouselementsibling 属性用于获取当前元素在 dom 树中紧邻的上一个兄弟元素节点。它直接返回该节点,若不存在则返回 null。使用时需确保目标元素存在且非根节点,调用方式简单:element.previouselementsibling。

previousElementSibling 与 previousSibling 的区别是什么
previousElementSibling 只返回元素节点(Node.ELEMENT_NODE),忽略文本、注释等空白节点;而 previousSibling 返回任意类型的上一个节点,包括文本和换行符。在实际开发中,推荐使用前者以避免因格式缩进导致的空值问题。

<div id="parent">
<div id="first">First</div>
<div id="second">Second</div>
<div id="third">Third</div>
</div>
<script>
const third = document.getElementById('third');
console.log(third.previousElementSibling.id); // "second"
console.log(third.previousSibling.nodeValue); // "\n " (包含换行和空格)
</script>当没有上一个兄弟元素时返回值如何处理
如果当前元素是父元素的第一个子元素,previousElementSibling 将返回 null。此时直接访问其属性会抛出错误,因此必须进行空值检查或提供默认行为。
立即学习“Java免费学习笔记(深入)”;
<div id="parent">
<div id="only-child">Only Child</div>
</div>
<script>
const onlyChild = document.getElementById('only-child');
const prev = onlyChild.previousElementSibling;
if (prev) {
console.log(prev.id);
} else {
console.log('No previous sibling');
}
</script>基于程序中某个输入、条件或结果的具体问题
在动态添加或删除兄弟元素后,previousElementSibling 的引用会自动更新为最新的 DOM 状态。例如,当插入一个新元素到两个现有元素之间时,原第二个元素的上一个兄弟将变为新插入的元素,无需手动重新查询。


















