📅  最后修改于: 2023-12-03 15:01:10.317000             🧑  作者: Mango
HTML DOM TreeWalker previousSibling() 方法用于获取当前节点的前一个兄弟节点。TreeWalker对象可以使用此方法在DOM树中向上遍历父元素的子节点。
treeWalker.previousSibling();
返回先前节点(previous sibling)的 Node 对象,如果没有更多节点,则返回 null。
假设有以下HTML代码:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
使用 TreeWalker对象和 previousSibling()方法,我们可以从最后一个 li 元素开始遍历,然后向上遍历父元素ul下的所有兄弟节点,代码如下:
var treeWalker = document.createTreeWalker(
document.getElementsByTagName("ul")[0],
NodeFilter.SHOW_ELEMENT
);
var currentLi = document.getElementsByTagName("li")[2];
treeWalker.currentNode = currentLi;
var previousLi = treeWalker.previousSibling();
console.log(previousLi); // 返回 Item 2 的元素节点对象
注释:
第1行创建一个 TreeWalker 对象并将目标节点设置为 ul
元素。
第4行指定当前节点为 Item 3
第6行使用 previousSibling 方法获取之前的节点,即 Item 2
元素节点对象。
HTML DOM TreeWalker previousSibling() 方法可用于遍历DOM树中当前节点的前一个兄弟元素,从而方便我们进行树遍历。我们可以将TreeWalker对象的currentNode属性设置为目标节点,并使用previousSibling()方法以获得其前一个兄弟节点。