我想获得具有特定类前缀的第一个父级,假设:
<div class="div-a3332">
<div class="div-a89892">
<p>
<div class="div-b2">
<div id="divid">hi</div>
</div>
</p>
</div>
</div>
例如,我当前的元素是#divid
,我想找到第一个具有类前缀div-a的元素。所以基本上它会选择:
<div class="div-a89892">
答案 0 :(得分:203)
将.closest()
与选择器一起使用:
var $div = $('#divid').closest('div[class^="div-a"]');
答案 1 :(得分:50)
Jquery后来允许您使用.parents()
方法找到父母。
因此我建议使用:
var $div = $('#divid').parents('div[class^="div-a"]');
这使得所有父节点都与选择器匹配。要获得匹配选择器的第一个父级,请使用:
var $div = $('#divid').parents('div[class^="div-a"]').eq(0);
对于其他此类DOM遍历查询,请查看traversing the DOM上的文档。