javascript - 如何通过JavaScript爬到特定的父元素?

标签 javascript

我有一个小的 html 代码如下:

<div class="main">
  <div class="comments">
    <div class="insider">
      <div class="text">
        some text
      </div>
    </div>
  </div>
</div>

我目前在 const ele = document.querySelector(".text") 并且我希望从上述元素动态上升,直到我到达一个名称为“comments”的类而且不会比那更远。

我如何使用 querySelector 通过 vanilla JavaScript 实现这一点?

最佳答案

您不能使用 document.querySelector() 从子元素移动到父元素。但是,有多种方法可以选择元素的父元素。

您可以使用 Element.closest()使用指定的 CSS 选择器获取最近的祖先元素的方法。

document.querySelector(".text").closest('.comments');

.closest() 方法将遍历 .text 元素及其祖先元素(朝向文档根),直到找到与提供的 CSS 选择器匹配的节点.

如果调用 .closest() 方法的元素与提供的 CSS 选择器匹配,则返回该元素,否则 .closest() 方法返回匹配祖先或 null 如果未找到匹配项。

关于javascript - 如何通过JavaScript爬到特定的父元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62959440/

相关文章:

javascript - 编辑具有 slugable 行为的记录时,slug 没有变化

javascript - typescript : logic to covert string array into custom object

javascript - 如何将razor变量传递给js

javascript - 如何确保保存的点击坐标可以重新加载到同一个地方,即使页面布局发生变化?

javascript - 单击时无法加载 Div 内容

javascript - 等到功能完成

javascript - jQuery 嵌套插件选择器问题

javascript - GLatLngBounds - 错误的中心和缩放级别

javascript - Angular 2 : Using Set? 浏览器兼容性和迭代不可能

javascript - css中类似 throw 卡片的动画