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?


quelle
mögliches Duplikat von stackoverflow.com/questions/299802/…
brettkelly
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
}
Malik Khalil
quelle
-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);
Don
quelle