2010-05-29 13 views
15

Ich möchte auf eine einfache Schaltfläche in einer unbekannten verschachtelten Ebene eines Containers zugreifen.Zugriff auf Elemente auf tieferen Ebenen mit children() in jQuery

container.children('button') Mit mir erlaubt Tasten in der ersten Ebene zuzugreifen, IE:

<div> 
<button>test</button> 
</div> 

Den Versuch, das gleiche mit dem folgende Konstrukt zu verwenden:

<div> 
<div> 
    <button>test</button> 
</div> 
</div> 

ausfällt, weil die Taste nicht a direkte Kinder. Ich könnte element.children().children('button') verwenden, aber die Tiefe des Knopfes kann sich ändern und das fühlt sich zu seltsam an.

Ich kann auch meine eigene Funktion schreiben, um alle Kinder zu iterieren, um zu finden, was ich brauche, aber ich denke, jQuery hat bereits Selektoren dafür.

Die Frage ist also:

Wie kann ich Kinder in einer unbekannten Tiefe mit jQuery Selektoren zugreifen?

+3

mit FYI, * Kinder in einer unbekannten Tiefe * genannt Nachkommen. Nur direkte Nachkommen eines Elements heißen * children * –

+0

ich behalte das im Hinterkopf, ty :) – favo

Antwort

42

Wie wäre es

container.find('button'); 
+1

+1 für das Schlagen von mir zum Schlag um 26 Sekunden :) – ivans

+0

autsch! ja, das hat den Job gemacht, danke! :-) – favo

+0

Nun, ist diese Antwort "akzeptiert"? – MvanGeest

16

von .find()

+2

+1 für einen Link zur Dokumentation: D – MvanGeest

+0

Google brachte mich zu dieser Antwort, sie wissen, welche die beste ist;) – brasofilo

Verwandte Themen