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

时间:2011-09-17 20:36:52

标签: jquery jquery-selectors

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

<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">

2 个答案:

答案 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上的文档。