Test auf leeres jQuery-Auswahlergebnis


85

Sag "Ich will

var s = $('#something');

und als nächstes möchte ich testen, ob jQuery #something gefunden hat, dh ich möchte testen, ob ses leer ist.

Ich könnte mein Vertrauen isempty()darauf verwenden:

function isempty(o) {
    for ( var i in o )
        return false;
    return true;
}

Oder da jQuery-Objekte Arrays sind, könnte ich sie wahrscheinlich testen s.length.

Aber beide scheinen nicht ganz in der Sprache von jQuery zu sein, nicht sehr jQueryesque. Was schlagen Sie vor?



inkedmn, ja, ähnliche Frage, aber ich habe dort keine .size()Antwort gesehen, die mir eher gefällt.


Antworten:



5
if($("#something").length > 0 ){
     // Element found
}
else{
    // No element found
}

-1

Eine noch jQueryesque Lösung für mich ist:

jQuery.fn.isEmpty = function(fun){ if (this.length === 0) { fun(); } return this; };

So kann ich auf typische Weise schreiben:

$("#sel").fadeOut(500,afterFade).isEmpty(insteadOfFade);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.