提问者:小点点

在不知道结构的情况下获得父母/祖父母?


这是基本的。 我需要使用一个语句来返回父

1。

<div id="1">
   <div id="2">
      <div id="3"></div>
   </div>

</div>

因此,给定元素id=3或给定元素id=2,我得到ID=1的元素。 假设我不知道我是在调用元素2还是3,我需要不是身体的祖父母。

element.parent(),或者element.parent().parent()都不好,因为我不知道结构,只想要“主”父。


共1个答案

匿名用户

您可以使用$(element).closest('body>*')最近将查找等,直到找到匹配的选择器。 在您的示例中,selectorbodyimmediate,因此使用body>*

在这里测试一下。

null

$('.btn').click(function() {
  alert($(this).closest('body>*').attr('id'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div id="1">
  <div id="2">
    <div id="3">
      <input type="button" value="Get Parent" class="btn" />
    </div>
  </div>
</div>


<div id="11">
  <div id="12">
    <div id="13">
      <div id="14">
        <input type="button" value="Get Parent" class="btn" />
      </div>
    </div>
  </div>
</div>