JQuery 查找具有特定类前缀的第一个父元素

我想得到具有特定类前缀的第一个父类,假设:

<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">
156942 次浏览

使用带有选择器的 .closest():

var $div = $('#divid').closest('div[class^="div-a"]');

Jquery 稍后允许您使用 .parents()方法查找父级。

因此,我建议使用:

var $div = $('#divid').parents('div[class^="div-a"]');

这样就给出了所有匹配选择器的父节点。要获得匹配选择器的第一个父节点,请使用:

var $div = $('#divid').parents('div[class^="div-a"]').eq(0);

对于其他类似的 DOM 遍历查询,请参阅 遍历 DOM上的文档。