jQuery: Was wird zurückgegeben, wenn $(‘#id’) mit nichts übereinstimmt?

Lesezeit: 1 Minute

Benutzer-Avatar
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

Benutzer-Avatar
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.

1085580cookie-checkjQuery: Was wird zurückgegeben, wenn $(‘#id’) mit nichts übereinstimmt?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy