Was wird zurückgegeben, wenn $(‘#id’) mit nichts übereinstimmt? Ich dachte, es wäre null oder falsch oder so ähnlich, also habe ich versucht, es so zu überprüfen:
var item = $('#item');
if (!item){
...
}
Aber das hat nicht funktioniert.
Sionid21
Was wird zurückgegeben, wenn $(‘#id’) mit nichts übereinstimmt? Ich dachte, es wäre null oder falsch oder so ähnlich, also habe ich versucht, es so zu überprüfen:
var item = $('#item');
if (!item){
...
}
Aber das hat nicht funktioniert.
Sie können herausfinden, wie viele Elemente abgeglichen wurden, indem Sie Folgendes verwenden:
$('selector').length
Um zu überprüfen, ob keine Elemente gefunden wurden, verwenden Sie:
var item = $('#item');
if (item.length == 0) {
// ...
}
Ja, das ist der richtige Weg. Um die Frage zu beantworten, gibt es jedoch ein Objekt/Array von übereinstimmenden DOM-Elementen zurück. Und die Eigenschaft „Länge“ kann für jedes Javascript-Objekt (Array, Zeichenfolge usw.) verwendet werden, um seine Länge zu bestimmen (Anzahl Elemente, Anzahl Zeichen usw.).
– Kyle Farris
24. Mai 2009 um 19:06 Uhr
Sudhir Jonathan
Während $('selector').length
ist großartig, um herauszufinden, mit wie vielen Objekten Ihr Selektor übereinstimmt, es ist eigentlich völlig unnötig. Die Sache mit jQuery ist, dass alle selektorbasierten Funktionen intern die Länge verwenden, also könnten Sie es einfach tun $(selector).hide()
(oder was auch immer) und es ergreift keine Aktion für eine leere Menge.
Das ist normalerweise richtig, aber hin und wieder müssen Sie nur überprüfen, ob ein Element vorhanden ist. Guter Punkt, also +1 trotzdem, da Sie in den meisten Fällen richtig liegen.
– Matthew Crumley
24. Mai 2009 um 20:11 Uhr
Ein jQuery-Objekt, das keine DOM-Knoten enthält.
Sie sollten in der Lage sein, zu verwenden
var item = $('#item');
if (!item[0]){
...
}
für Ihren Existenz-Check.
Ein Alias des length-Attributs ist die size()-Methode. Man könnte also grundsätzlich auch abfragen:
$(“Selektor”).size()
um zu sehen, wie viele Elemente übereinstimmen.