如何在jquery中找到第一个父元素

Ash*_*win 11 html javascript jquery dom

考虑以下html -

<div class="container1">
   <div class="container2">
      <div class="container3">
         <div class="container4">
             <div class="element">
             ...
         </div>
      </div>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我想得到<div class="element">元素,我参考了container1.在jquery我做的是,

$(".container1").find(".element")
Run Code Online (Sandbox Code Playgroud)

代替 -

$(".container1").children().children().children().find(".element")
Run Code Online (Sandbox Code Playgroud)

这是在我引用任何父元素时查找任何子元素的过程.但是当我引用一个子元素并想要获取父元素时,每次我必须升级一级 -

$(".element").parent().parent().parent().parent()
Run Code Online (Sandbox Code Playgroud)

我不能这样做 -

$(".element").findParent()
Run Code Online (Sandbox Code Playgroud)

我没有在jquery中遇到像findParent()这样的任何方法.有没有我不知道的?或者它出于某种原因不存在?

the*_*dox 27

$(".element").parents();
Run Code Online (Sandbox Code Playgroud)

会给所有的父母.element(包括htmlbody)

DEMO

为了找到任何特定的父母,container1那么假设

$('.element').parents('.container1')
Run Code Online (Sandbox Code Playgroud)

DEMO

jQuery .parents()通常会找到所有父项,但如果你通过了一个选择器,那么它将搜索它.


fca*_*ran 14

只是用

$(".element").closest('#container1');
Run Code Online (Sandbox Code Playgroud)

如果没有id找到那个祖先那么

$(".element").closest('#container1').length 将会 0