Javascript 如何查找包含特定选择器的父元素
让我们假设具有以下html结构(1)。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'>
从
$('.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');