有没有一个jQuery父级选择器,可以在DOM中向上遍历直到找到第一个匹配项?
例如:
<tr>
<td>
<div id="foo">hello!</div>
</td>
</tr>
为了从div中找到行,我使用以下代码:
$('#foo').parent().parent();
感觉应该能够像下面这样写:
$('#foo').firstParent('tr');
但是我在文档中找不到任何类似的函数。
有没有一个jQuery父级选择器,可以在DOM中向上遍历直到找到第一个匹配项?
例如:
<tr>
<td>
<div id="foo">hello!</div>
</td>
</tr>
为了从div中找到行,我使用以下代码:
$('#foo').parent().parent();
感觉应该能够像下面这样写:
$('#foo').firstParent('tr');
但是我在文档中找不到任何类似的函数。
$(element).parents('TR:first');
编辑:或者像下面Nick说的那样 - 我忘了那个家伙。
.closest('tr')
的长写等效形式,因此肯定是一种有效的方法 :) - Nick Craver$('#foo').parent('tr')
<tr>
时才会生效,如果不是<tr>
,则会返回一个空集合。该选择器是一种过滤器,而不是搜索条件,它相当于.parent().filter('tr')
这一步骤 :) - Nick Craver