jquery: Kinder ausschließen

7

Ich weiß, dass dies viele Male gefragt wurde, und ich habe alle Vorschläge ausprobiert, und lese alles über verschiedene Selektoren und so weiter, aber nichts funktioniert für mich

gegeben das folgende Stück HTML:

%Vor%

Ich möchte die ersten Divs & lt; a & gt; Tag, aber nichts aus dem zweiten div

Ich habe es versucht:

%Vor%

usw.

Ich weiß nicht, ob es daran liegt, dass das zweite div zwei Klassennamen hat, oder weil das zweite div & lt; a & gt; Tags sind keine direkten Kinder des zweiten Div (z. B. gibt es Font-Tags und solche um sie herum), aber ich kann das zweite Div nicht ausschließen.

    
null 10.07.2010, 15:48
quelle

5 Antworten

12

Haben Sie den Kinderselektor > ?

ausprobiert? %Vor%

wählt nur direkte Nachkommen von class1 aus.

Wenn Sie eine breitere Regel benötigen, denke ich Sie müssen nur ein Leerzeichen in einem Ihrer Beispiele hinzufügen:

%Vor%

Aktualisierung von den Kommentaren: Das funktioniert:

%Vor%     
Pekka 웃 10.07.2010 15:51
quelle
4

Hatte das gleiche Problem, wo eine Anzahl von Elementen im Weg sein könnte, meine Lösung war:

%Vor%

Im Grunde genommen alle, dann entferne alle, die "ausgeschlossen" werden sollen

    
Jonathan Regeimbal 21.02.2012 18:18
quelle
2

Nun, das hängt von Ihren genauen Bedürfnissen ab, aber das kann funktionieren - es wählt das div aus, das <p> direkt darunter und dann den Link darin:

%Vor%

Um alle Links zu finden, außer denen, die in einem anderen <div> verschachtelt sind, können Sie etwas wie:

versuchen %Vor%

Das findet alle Links in Ihrer Klasse und entfernt die Links, die in einem anderen <div> enthalten sind, in jeder Ebene. Du schreibst das etwas kürzer, du wirst es benutzen:

%Vor%     
Kobi 10.07.2010 15:52
quelle
1

Wenn Sie den untergeordneten Selektor E > F anstelle des Nachkommenselektor E F In Kombination mit den Elementnamen erhalten Sie nur das gewünschte Element, z :

%Vor%     
Gumbo 10.07.2010 15:54
quelle
0

Nun, endlich eine akzeptable Lösung ausgearbeitet

%Vor%

nichts anderes funktionierte für mich. Danke für die Hilfe, viele der Antworten hier hätten funktioniert, aber das erste div könnte eine beliebige Anzahl von Kindelementen (oder überhaupt keines) vor dem zweiten div enthalten, und das zweite div könnte eine beliebige Anzahl von Kindelementen vor dem a enthalten Tag, den ich herausgefiltert habe

    
null 10.07.2010 17:46
quelle

Tags und Links