我找不到这个问题的快速答案......
我在点击事件中并使用$(this)
我试图在不知道它具有什么选择器的情况下选择三个级别的元素。
$(this).parent().parent().parent().attr('id')
这样做很好,但有更好的方法吗?
赞parent(3x)
或类似?
答案 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