Frage

Ich habe die jquery: $ ( "Punkt")

, die mir alle Elemente der Klasse Artikel gibt.

Ich brauche ein Element aus dem Array ich von dieser Methode erhalten zu wählen, und dann auf das Element, bevor diese finden.

.

so etwas wie: $ (“. Punkt ") wählen (" # 3" ) zurück () - mit Ausnahme sollte es funktionieren.)

so, vorausgesetzt, ich hatte die Liste der Elemente:

<div id=1 class="item"></div>
<div id=2 class="item"></div>
<div class="somethingElse"></div>
<div id=3 class="item"></div>
<div id=4 class="item"></div>

ich soll den "<div id=2></div>" Einzelteil erhalten.

Irgendwelche Ideen?

War es hilfreich?

Lösung

prev sieht nur auf den unmittelbaren vorherigen Geschwister. Versuchen Sie folgendes:

$('#3').prevAll('div.item').eq(0);

Das sollte bekommen, was Sie wollen. Wie von googletorp erwähnt, $('.item').find('#3'); tun, ist überflüssig und langsamer. IDs sollen einzigartig sein, so dass Sie sollten in Ordnung sein $('#3') direkt zu tun. Zu beachten ist jedoch, dass IDs, gemäß der Spezifikation, soll nicht beginnt mit Zahlen :

  

ID und NAME-Token müssen mit einem Buchstaben ([A-Za-z]) beginnen und können durch eine beliebige Anzahl von Buchstaben, Ziffern ([0-9]), Bindestrichen gefolgt werden ( "-"), Unterstreichungen (“ _ "), Doppelpunkte (": ") und Punkte (" ")

..

Andere Tipps

Sie nicht schreiben, was hast du nur Sie erwarten sollen. Eigentlich, was sollten Sie Ihren Code getwith ist die div mit der Klasse somethingelse. Um ich wurde 2 Sie tun würden.

$(....).prev(".item");

ohne args, zurück wil das Element erhalten, kurz bevor in dem DOM, mo Materie Stil oder Art.

Was Sie tun, ist so ziemlich gleich

$("#3").prev()

nur langsamer. Die erste Auswahl hat keine Auswirkung, wenn Sie Ende () verwenden, aber ist nicht erforderlich, wenn sowieso Objekte von id bekommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top