如何在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并且想要为它的父类afind它的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器匹配的元素。