2012-07-26 8 views
5

Mögliche Duplizieren:
What does a > b mean?mit> in jquery Selektor

Hallo könnte jemand tel mir, was diese Art der Selektor angewendet?

$("> div", "#main-content") 

ist es das gleiche wie

$("div", "#main-content") 

?

Ich habe diesen Stil noch nicht gesehen und bin einfach in einer Vorlage, die ich gerade gekauft habe, darüber gestolpert.

+0

Bitte Lesen Sie die Dokumentation: http://api.jquery.com/child-selector/ –

+0

> ist nur für direkte Kinder. Also, wenn du 'div> .myclass' sagst, wird es nur die .myclass bekommen, die innerhalb des div ist und nicht in etwas anderem. Wenn eine .myclass innerhalb eines Bereichs in diesem div liegt, wird sie nicht ausgewählt. Hoffe, das ist klar :) –

+0

Got it. Vielen Dank. – Chin

Antwort

2

Oben gibt es einige gute Antworten.Zur Beantwortung speziell auf Ihre Frage:

Wie die jQuery Struktur funktioniert: $("tagToSelect", "context") die auch ausgedrückt werden kann als $("context tagToSelect")

Die „>“ wählt nur Tags unmittelbar innerhalb des Kontextes (eine Ebene tiefer)

so $("> div", "#main-content") ist technisch die gleiche wie $("#main-content > div") und wird alle divs auswählen, die eine Ebene in # Hauptinhalt (aber nicht tiefer)

Ihr anderes Beispiel: $("div", "#main-content") ist technisch die gleiche wie $("#main-content div") und wird durch die gesamte DOM-Struktur innerhalb # main-Inhalt durchlaufen und alle divs

Hoffnung finden, das hilft :-)

1

> wird für direkte Kinder verwendet.

<ul id="mainUl"> 
    <li> 
     <ul id="secondaryUl"> 
     <li></li> 
     </ul> 
    </li> 
</ul> 

hier beide <ul> Tags werden mit $("ul") gefangen werden, aber nur #mainUl mit $("> ul")

2

Ich denke, $("div", "#main-content") wählen ALL löschen Zweifel die divs im #main-content Elementbaum, während die $("> div", "#main-content") nur direkte Kinder auswählt. Für weitere Informationen siehe docs.

4

Grundsätzlich gibt die > an, dass nur direkte Kinder gefunden werden. Wenn die > weggelassen wird, wird jedes untergeordnete Element jeder Ebene darunter zugeordnet.

Wenn Sie eine Struktur wie dieses:

<div id="A"> 
    <div id="B"> 
    <div id="C"></div> 
    </div> 
</div> 

einen Selektor wie:

#A > #B 

Sollten Sie B zurück, aber

#A > #C 

würde nicht mit C entsprechen, während

#A #C 

würde.

2

Eltern > Kind - wählt nur direkte Kindelemente
Gerade neu Iterierte:

Hinweis: Die $ ("> Elem", Kontext) Selektor wird in einer zukünftigen Release veraltet . Es wird daher davon abgeraten, anstelle der Verwendung alternativer Selektoren zu verwenden.