12

以下のhtmlを検討してください-

<div class="container1">
   <div class="container2">
      <div class="container3">
         <div class="container4">
             <div class="element">
             ...
         </div>
      </div>
   </div>
</div>

<div class="element">要素を取得したい場合で、への参照がありcontainer1ます。jqueryで私がしていることは、

$(".container1").find(".element")

それ以外の -

$(".container1").children().children().children().find(".element")

これは、親要素のいずれかを参照しているときに子要素を見つけるプロセスです。しかし、代わりに、子要素への参照があり、親要素を取得したい場合は、毎回1レベル上に移動する必要があります-

$(".element").parent().parent().parent().parent()

そして、私はこのようにすることはできません-

$(".element").findParent()

jqueryでfindParent()のようなメソッドに出くわしたことはありません。知らないものはありますか?それとも何らかの理由でそこにありませんか?

4

3 に答える 3

28
$(".element").parents();

( と を含む)のすべての親を指定します.elementhtmlbody

デモ

特定の親を見つけるには、container1次のようにします。

$('.element').parents('.container1')

デモ

jQuery.parents()は通常、すべての親を検索しますが、セレクターを渡した場合はそれを検索します。

于 2012-06-27T13:18:09.363 に答える
14

使用するだけ

$(".element").closest('#container1');

それを持つ祖先idが見つからない場合は、

$(".element").closest('#container1').lengthになります0

于 2012-06-27T13:18:01.413 に答える