📜  HTML DOM TreeWalker previousSibling() 方法(1)

📅  最后修改于: 2023-12-03 15:01:10.317000             🧑  作者: Mango

HTML DOM TreeWalker previousSibling() 方法

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()方法以获得其前一个兄弟节点。