Jquery Select-element 2 Positionen weiter - ein weiterer Weg, um .next().die next () -
Ich bin auf der Suche nach einem Weg, wie ich konnte wählen Sie ein div-element, welches nicht direkt neben einem, um die eine, die "ausgewählt" durch eine Klick-Funktion.
<div id="click">(siblings)</div><div>text</div><div id="get this one"></div>
Nun würde ich gerne die wählen, mit der id "hol dies" - in meinem code diese id ist nicht verfügbar. Alle divs haben die gleiche Klasse und haben Geschwister.
Ich konnte wählen Sie die Dritte von $(this).next().next()
aber ich denke, es ist nicht der beste Weg, es zu tun.
Auch kann es sein div
s vor das man was angeklickt wird - es ist also nicht unbedingt der erste.
Ich habe versucht, die :nth-child
- Selektor, aber nicht eine Lösung zu finden.
Ich habe dann später auch können wollen, wählen Sie die 13. man nach dem klicken (oder 23, 65 und so weiter). Dies bedeutet, möchte ich eine eher dynamische Lösung für dieses problem.
Danke für Eure Hilfe,
Phil
InformationsquelleAutor Phil | 2010-09-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
.nextAll()
mit.eq()
für Ihre dynamische Ansatz, wie diese:Dies würde es ermöglichen, Sie zu bekommen
n
Geschwister freuen, die scheint zu werden, was Sie nach.InformationsquelleAutor Nick Craver
Scheint es, dass
$(this).parent().find('div').eq(2).attr('id')
funktionieren sollte.UPDATE( Hinzugefügt find('div') )
.parent()
wählt ein einzelnes element, nicht Geschwister 🙂Vor Ihrer Antwort hatte nextAll('eq:2'). Würde das funktionieren auf die gleiche Weise wie das, was Sie haben für Ihre Antwort jetzt? Was ist der Unterschied?
Sie bekommen das 3. element in der übergeordneten egal was...das ist nicht relativ zu der aktuell - element, es wird nur die 3., egal wo Sie geklickt haben. Auch meine Antwort verwendet
:eq(1)
für die 2., es ist ein 0-basierter index 🙂Ah, ja. Ich sehe (in Bezug auf die relative Auswahl). Ich verstehe die index basierend auf 0, aber ich war mehr in Bezug auf die Tatsache, dass Sie hatte die "eq:1" in Anführungszeichen steht bevor...und ich fragte mich, ob das nur ein weiterer Weg, um es zu schreiben. Vielen Dank für den Hinweis auf den Unterschied zwischen Ihrer Antwort und meiner. Ihre es flexibler für Sie sicher.
Sie können
:eq(2)
als Selektor als auch, eher als eine Funktion aufrufen, aber wenn ich wieder Lesen Sie die Frage und sah, dass er wollte, dass es dynamisch..es ist viel einfacher zu bedienen.eq(variable)
eher als".eq(" + variable + ")"
, und es ist schneller zu Booten.InformationsquelleAutor d2burke