Finde das Element im übergeordneten Container mit jQuery

8

Ich versuche, ein Element in meinem LI anzusteuern, nur wenn ich Probleme habe, habe ich die jQuery-Dokumentation gelesen, kann aber nicht herausfinden, was ich falsch mache?

Bei einem Klick-Event möchte ich ein Element finden und den HTML-Code ändern ...

Ссылка

%Vor%     
Liam 25.04.2012, 23:13
quelle

1 Antwort

19

Basierend auf dem folgenden HTML (bedenken Sie, dass ich das li mit dem ul umbrechen musste, da ein nicht ausgepacktes li ungültiges HTML ist):

%Vor%

Und die folgende jQuery:

%Vor%

Es scheint, dass Sie versuchen, h4 in li zu finden. Die Probleme, die Sie haben, sind mehrere:

  1. Wenn parent() verwendet wird, wird nur das unmittelbar übergeordnete Element des aktuellen Elements angezeigt. Verwenden Sie stattdessen closest() , um durch die Vorfahren zu suchen, bis ein übereinstimmendes Element
  2. findet
  3. closest() (wie bereits erwähnt) sucht nach oben durch die Vorgängerelemente, während Sie versuchen, ein Element unter den Nachkommen des Elements li zu finden. Verwende find() ,
  4. Sie haben nach einem h4 Element gesucht, das nicht existiert. Du musst (vermute ich) die h2 finden, die im DOM vorhanden war.

Also:

%Vor%

JS Fiddle-Demo .

Referenzen:

David Thomas 25.04.2012, 23:23
quelle

Tags und Links