jQuery:parent()次3 - 如果我不知道选择器,如何避免父级的堆叠

时间:2013-05-03 14:40:45

标签: jquery parent

我找不到这个问题的快速答案......

我在点击事件中并使用$(this)

我试图在不知道它具有什么选择器的情况下选择三个级别的元素。

$(this).parent().parent().parent().attr('id')

这样做很好,但有更好的方法吗?

parent(3x)或类似?

3 个答案:

答案 0 :(得分:26)

您可以尝试将eq()parents()一起使用。 eq()是零基索引,因此第一个元素将具有零索引,第三个元素将具有2个索引。

$(this).parents().eq(2).attr('id');

这等于:

$(this).parent().parent().parent().attr('id');
  

.parents()方法允许我们搜索这些的祖先   DOM树中的元素并从中构造一个新的jQuery对象   从直接父母订购的匹配元素;要素   从最近的父级到外部的父级按顺序返回,   Reference

答案 1 :(得分:5)

像这样使用.eq().parents()

$(this).parents().eq(2).attr("id");

答案 2 :(得分:2)

你也可以尝试。

$(this).parents(':eq(2)');  //and then get ID