Jquery get next sibling
Stehe ich vor einigen Fragen, während sich Elemente der Geschwister mit jquery. Ich werde versuchen zu erklären.
Im folgenden ist der HTML-Code, derzeit arbeite ich an ..
<p class="paraclass1" id="amazing1">
<span class ="pascal1">
<div class='pascal'>
<INPUT id= "chk1" value="on" type="checkbox" />
</div>
</span>
</p>
<p>
<label class='lblclass'>this is a label </>
</p>
was ich tun möchte, ist zu navigieren und finden alle Kinder, die anwesend sind, in die zweite p-tag (jetzt nur ein Etikett vorhanden ist) . Im folgenden ist der Jquery code, den ich auf Arbeit bin ..
$('#chk1').click(function(){
alert($(this).parents('p#amazing1').next().children().length)
//alert($('#chk1').parent().parent().attr('class'));
});
http://jsfiddle.net/gj1118/vWQxD/5/
Jede Hilfe würde geschätzt werden.
Dank
Bearbeiten
Ich bin jetzt versuchen, den text des Etiketts, der in der zweiten p-element-tag und seine nicht funktioniert.... Gibt es etwas, dass ich vermisst werde .. ? Ich habe nicht verändert der Geige noch , aber da war es nur eine Probe und da die tags wurden nicht verwendet, ich lass es bleiben, wie es der Einfachheit halber
.closest()
ist eine bessere Wahl als .parents()
für das, was du tust.InformationsquelleAutor Gagan | 2012-12-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre jQuery-sollte funktionieren. Das problem in diesem Fall ist Ihre Auszeichnung. Die
p
- element kann nur die "phrasing content". Diediv
element ist nicht eingestuft als phrasing content, also der browser wird sein bestes tun, um Ihre markup von beweglichen Sachen herum.Chrome bewegt sich einfach die
p
element zu den vorigen Geschwisterknoten desdiv
.Um das Problem zu beheben, müssen Sie ändern Sie Ihre markup. Ihre beste Wette sein kann, um zu ändern, die
p
element in ein anderesdiv
. Finden Sie eine aktualisiert fiddle.Seite Hinweis. Möchten Sie vielleicht in Erwägung ziehen, das
.parents()
Aufruf einer.closest()
nennen. Die.parents()
- Methode zurückgeben kann mehrere Elemente, wenn Sie mit dem selector. In diesem Fall ist das nicht möglich, aber im Interesse der Wartbarkeit, könnte es eine gute Abwechslung:Ich denke, dass es einfach geschlossen, der p-tag, sobald es sieht, ein div-tag.
Ja, das ist genau das, was es tut, sagte schöner, als ich es sagen!
InformationsquelleAutor James Allardice