wie beurteilt man ein element das Vorherige oder nächste element gibt es mit jquery?
angenommen ich habe eine <ul>
:
<ul>
<li></li>
<li></li>
<li class="test"></li>
</ul>
Wie kann ich beurteilen, die .test
seine nächste element mit jquery ?
wie das?:
if ($("li.test").next()) { …… }
das merkwürdige ist, dass ,auch ich Schreibe wie oben:
if ($("li.test").next()) {alert("true");}
es noch Warnung "wahr",aber wie Sie sehen,gibt es kein element Nächstes ?warum dies passiert ist?
Oder was ich tun kann, ist
for (i = 0; i < $("li").length; i++) {
if ($("li").eq(i).hasClass("test")) {
if (i == $("li").length - 1) {
alert("true");
}
}
}
derzeit das mein problem lösen könnte,aber gibt es eine einfache Möglichkeit?
danke
InformationsquelleAutor der Frage hh54188 | 2011-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen jQuery-Auswahl wird immer ausgewertet boolean
true
(wie in einemif
- Anweisung). Dies ist, weil es keine nativen Javascript-type-es ist ein Objekt.Müssen Sie prüfen, die
length
Eigentum der Auswahl. Wenn es leer ist, wird dies0
und bewerten zufalse
so dieif
wird nicht passieren. Wenn es nicht leer ist, wird es eine positive ganze Zahl sein und wird deshalb bewerten zutrue
so dass die bedingte übergeben werden.InformationsquelleAutor der Antwort lonesomeday
http://jsfiddle.net/Kfsku/
InformationsquelleAutor der Antwort Alex Wayne
$("li.test").next().length
;Beispiel
InformationsquelleAutor der Antwort Headshota
Müssen Sie die length-Eigenschaft.
Beachten Sie, dass jQuery in der Regel gibt sich selbst, damit können Sie die Kette. Immer die
length
- Eigenschaft des Objekts an, geben Sie die InformationenInformationsquelleAutor der Antwort JohnP