有选择兄弟节点的方法吗?

阅读时长 3 分钟读完

在前端开发中,我们经常需要对 DOM 元素进行操作。当需要选择当前元素的下一个或上一个兄弟节点时,我们可以使用如下几种方法。

nextSibling 和 previousSibling 属性

DOM 元素对象拥有两个属性:nextSibling 和 previousSibling,它们分别表示当前节点的下一个和上一个兄弟节点。

-- -------------------- ---- -------
----
  -------------
  ------------
  -------------------
-----

--------
  ----- ------- - ------------------------------------------
  ----- ------ - --------------------
  ------------------------------ -- ------------

  ----- -------- - -----------------------
  -------------------------------- -- ------
---------

需要注意的是,这两个属性返回的是节点对象,而不是元素对象。因此,我们需要使用 nodeType 属性判断是否为元素节点。如果不是,可以继续调用 nextSibling 或 previousSibling 属性,直到找到元素节点为止。

nextElementSibling 和 previousElementSibling 属性

上面提到的 nextSibling 和 previousSibling 属性是针对节点而言的,而不仅仅是元素。如果我们只想获取元素节点的兄弟节点,可以使用 nextElementSibling 和 previousElementSibling 属性。

-- -------------------- ---- -------
-----
  --------------
  --------------
  --------------
------

--------
  ----- --------- - -------------------------------------------
  ----- ---------- - -----------------------------
  ---------------------------------- -- ---

  ----- --------- - ------------------------------
  --------------------------------- -- ---
---------

需要注意的是,这两个属性只返回元素节点,因此不需要使用 nodeType 属性做类型判断。

总结

在前端开发中,我们经常需要选择兄弟节点。使用 nextSibling 和 previousSibling 属性可以获取当前节点的下一个或上一个兄弟节点,但需要注意区分节点和元素节点。如果只想获取元素节点的兄弟节点,可以使用 nextElementSibling 和 previousElementSibling 属性。这些方法可以帮助我们更方便地操作 DOM 元素。

参考链接:

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/13465

纠错
反馈