如何在jQuery中find具有已知类的父类?
我有一个<div>
,其中有许多其他的<div>
s,每个在不同的嵌套级别。 而不是给每个孩子<div>
一个标识符,我宁愿给根<div>
标识符。 这是一个例子:
<div class="a" id="a5"> <div class="b"> <div class="c"> <a class="d"> </a> </div> </div> </div>
如果我在jQuery中编写一个函数来响应类d
并且想要为它的父类a
find它的ID,那我该怎么做呢? 我不能简单地做$('.a').attr('id');
因为有多个class级。 我可以find其父母的父母的ID,但似乎devise不好,很慢,而且不是很多形(我将不得不编写不同的代码来find类c
的ID)。
假设this
是.d
,你可以写
$(this).closest('.a');
closest
方法返回匹配select器的元素的最内层父元素。
将select器传递给jQuery 父类函数:
d.parents('.a').attr('id')
编辑嗯,实际上Slaks的答案是优越的,如果你只想要最匹配的select器的祖先。
你可以使用父母()来获得给定select器的所有父母。
说明:获取当前一组匹配元素中每个元素的祖先,可以通过select器进行过滤。
但是parent()将只获得元素的第一个父元素。
说明:获取当前匹配元素集中每个元素的父元素,可以通过select器进行过滤。
jQuery的父母()与父母()
还有.parentsUntil() ,我认为这将是最好的。
说明:获取当前一组匹配元素中每个元素的祖先,直到但不包括由select器匹配的元素。