让我们假设有以下html结构(1)
从$('.child') element
我可以$('.gran-parent') element
访问$('.child').parent().parent();
。
无论如何,我认为这不是一个好方法,因为它不是通用的
我们假设$('。gran-parent')和$('。child')之间还有其他div。
从gran-parent
开始,引用第一个父类$('.child')
的最通用方法是什么?
<div class='gran-parent'>
<div class='parent'>
<div class='child'>
</div>
</div>
</div>
答案 0 :(得分:5)
你想:
$('.child').closest(".grand-parent");
.closest
会一直向上移动,直到找到.grand-parent
。您也可以执行.parents(".grand-parent")
,但这可能会返回多个结果,具体取决于您的DOM层次结构,因此您必须这样做:
.parents(".grand-parent").eq(0)
或:
.parents(".grand-parent").slice(0)
或:
.parents(".grand-parent:first")
所有这些都不如.closest()
优雅。
请参阅:
答案 1 :(得分:2)