获取jquery选择器的父元素

时间:2011-10-14 09:51:48

标签: jquery parent

我有一个表格,其中每一行都有一个像这样的CSS ID:

<table>
<tr id='1'>...</tr>
<tr id='2'>...</tr>
<tr id='3'>...</tr>
</table>

在一行中,用户可以单击单元格中的特定元素。我想找到已被点击的行。

例如:

<tr id='x'><td></td>...<td><div class='someclass'><div class='anotherclass'></div></div></td>...</tr>

在这种情况下,我想在用户点击class ='anotherclass'元素时做出响应。我想获取包含此单击元素的行的id但我不想使用$(this).parent()。parent()。parent()....等因为有多个级别的父级它变得丑陋。

有多种方法可以多次使用.parent()获取包含此元素的行吗?

更新:谢谢大家。那是完美的。

3 个答案:

答案 0 :(得分:6)

使用closest()

$('.anotherclass').click(function () {
     alert($(this).closest('tr').prop('id'));
});

答案 1 :(得分:1)

使用closest

$(".anotherclass").click(function() {
    console.log($(this).closest("tr").attr("id"));
});

来自文档:

  

获取与选择器匹配的第一个元素,从   当前元素并在DOM树中前进。

答案 2 :(得分:1)

你可以使用它。

$('.anotherclass').click(function () {
     alert($(this).parents('tr').attr("id"));
});