当前位置: 首页 > 面试题库 >

查找具有特定类的最接近的原型元素

花博厚
2023-03-14
问题内容

如何 在纯JavaScript中 找到与具有特定类的树最接近的元素的原型?例如,在像这样的树中:

<div class="far ancestor">
    <div class="near ancestor">
        <p>Where am I?</p>
    </div>
</div>

然后,我想div.near.ancestor在上尝试p并搜索ancestor


问题答案:

更新:大多数主流浏览器现在都支持

document.querySelector("p").closest(".near.ancestor")

请注意,这可以匹配选择器,而不仅仅是类

https://developer.mozilla.org/zh-
CN/docs/Web/API/Element.closest

对于不支持closest()但拥有matches()一个的旧版浏览器,可以构建类似于@rvighne的类匹配的选择器匹配:

function findAncestor (el, sel) {
    while ((el = el.parentElement) && !((el.matches || el.matchesSelector).call(el,sel)));
    return el;
}


 类似资料:
  • 在纯JavaScript中,如何找到最接近具有特定类的树的元素的祖先?例如,在这样的树中: 然后我想要,如果我在上尝试这个并搜索。

  • 问题内容: 我试图找到没有jquery的具有特定标签名称的最接近的元素。当我单击a时,我想访问该表的。有什么建议吗?我读过有关偏移量的信息,但并不太了解。我应该只使用: 假设已经设置了单击元素 问题答案: 参加聚会的时间很少(非常),但是仍然如此。这应该做的伎俩:

  • 问题内容: 在Java中,应该如何找到数组元素与特定值K最接近(或相等)的和? 例如,对于数组{19,23,41,5,40,36}和K = 44,最接近的可能和是23 + 19 = 42。我已经为此奋斗了好几个小时。我对动态编程几乎一无所知。顺便说一下,数组仅包含正数。 问题答案: 对于这种问题,通常将使用动态编程。但是,本质上可以归结为保留一组可能的总和,然后将输入值一个接一个地添加,如以下代码

  • 问题内容: 我正在开发一个应用程序(Quartz调度程序),其中有一个作业类负责实际执行工作,我们需要在Quartz调度程序中创建触发器时告知/传递作业类的名称。 我想为所有想使用该API的人提供一个扩展点(除了我将作为API的一部分提供的一些通用作业之外)。这个想法是创建一个(标记)接口,如果有人想将其类声明为调度程序作业类,那么他们要做的就是(声明)实现该接口。 我不确定如何找到合约之后的类(

  • 问题内容: 这是我可以使用的粗糙html: 我需要从中遍历,找到最接近的前一个并对其进行处理。 返回的全部负载(我在页面上大约有30个)。我需要瞄准一个。 非常感谢任何提示:) 问题答案: 尝试: 用您的标记测试了它: 将用“ woohoo” 填充最接近的前一个。

  • 我有以下字符串: 对于数组中的每个D,我是否可以知道在每个D之前和之后有多少个连续的T或D与每个D之前的字母相同。所以对于第一个D,它前面的字母是T,那么我想知道在第一个D之前和之后有多少个连续的T。对于第二个D,它前面的字母是Q,所以我想找出第二个D之前和之后连续Q的#。 例如,对于第一个D,在D之前有1个T,在出现Q之前有1个T(例如:对于第一个D,类似于“TDT”) 对于第二个D,有一个连续