如何查找包含特定选择器的父元素

How to look for a parent element which contains a specific selector

本文关键字:选择器 元素 包含特 何查找 查找      更新时间:2023-09-26

让我们假设有以下html结构(1)
$('.child') element,我可以访问制作类似$('.child').parent().parent();$('.gran-parent') element

无论如何,我认为这不是一个好方法,因为它不是通用的
让我们假设在$('.gran-pparent')和$('.child')之间还有其他div。
$('.child')开始,引用类为gran-parent的第一个父类的最通用方式是什么?

<div class='gran-parent'>
    <div class='parent'>
        <div class='child'>
        </div>
    </div>
</div>

您想要:

$('.child').closest(".grand-parent");

CCD_ 6将继续向上遍历,直到它找到一个CCD_。您也可以执行.parents(".grand-parent"),但根据您的DOM层次结构,这可能会返回多个结果,因此您必须执行:

.parents(".grand-parent").eq(0)

或:

.parents(".grand-parent").slice(0)

或:

.parents(".grand-parent:first")

所有这些都不如CCD_ 9优雅。

参见:

  • http://api.jquery.com/closest/
  • http://api.jquery.com/parents/

您正在寻找parents()运算符。

示例:

$('.child').parents('.gran-parent');