Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何查找包含特定选择器的父元素_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

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

Javascript 如何查找包含特定选择器的父元素,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,让我们假设具有以下html结构(1)。 从$('.child')元素我可以访问$('.gran parent')元素生成类似$('.child').parent()的内容 无论如何,我认为这不是一个好方法,因为它不是通用的。 假设在$('.gran parent')和$('.child')之间还有其他div。 从$('.child')开始,引用第一个父类的最通用方法是什么 <div class='gran-parent'> <div class='parent'>

让我们假设具有以下html结构(1)。
$('.child')元素
我可以访问
$('.gran parent')元素
生成类似
$('.child').parent()的内容

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

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

您需要:

$('.child').closest(".grand-parent");
.closest
将继续遍历,直到找到
.grand parent
。您也可以执行
.parents(“.grandparent”)
,但这可能会返回多个结果,具体取决于您的DOM层次结构,因此您必须执行以下操作:

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

或:

所有这些都不如
.closest()
优雅

见:

    • 您正在寻找接线员

      例如:

      $('.child').parents('.gran-parent');
      
      .parents(".grand-parent:first")
      
      $('.child').parents('.gran-parent');