it-swarm.com.de

So finden Sie das erste übergeordnete Element in Jquery

Conside unter html -

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

wenn ich <div class="element"> Element erhalten möchte, habe ich einen Verweis auf container1. In jquery mache ich

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

anstatt -

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

Dies ist ein Vorgang, um ein untergeordnetes Element zu finden, wenn ich auf ein übergeordnetes Element verweise. Wenn ich jedoch Bezug auf ein untergeordnetes Element habe und ein übergeordnetes Element erhalten möchte, muss ich jedes Mal eine Ebene höher gehen -

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

und das kann ich nicht -

$(".element").findParent()

Ich bin keiner Methode wie findParent () in Jquery begegnet. Gibt es das, was mir nicht bewusst ist? Oder ist es nicht aus irgendeinem Grund da?

11
Ashwin
$(".element").parents();

gibt alle Eltern von .element(einschließlich html und body)

DEMO

Angenommen, Sie suchen nach einem bestimmten übergeordneten Element, container1

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

DEMO

jQuery .parents() findet normalerweise alle Eltern, aber wenn Sie einen Selektor übergeben haben, sucht es danach.

27
thecodeparadox

benutz einfach

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

wenn kein Vorfahre mit dieser id gefunden wird 

$(".element").closest('#container1').length wird 0 sein

14
fcalderan

Um den ersten Elternteil persönlich zu bekommen, verwende ich folgende Konstruktion:

var count_parents = $(".element").parents().length;
$(".element").parents().eq(count_parents - 1);

Hoffe, es wird für jemanden hilfreich sein.

1
Paul Basenko