Sprawdź, czy wynik wyboru jQuery jest pusty

85

Powiedź tak

var s = $('#something');

a następnie chcę sprawdzić, czy jQuery znalazł # coś, tj. chcę sprawdzić, czy sjest pusty.

Mógłbym na tym wykorzystać mojego zaufanego isempty():

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

Albo ponieważ obiekty jQuery są tablicami, przypuszczam, że mógłbym przetestować s.length.

Ale żadne z nich nie wydaje się całkiem w idiomie jQuery, niezbyt jQueryesque. Co sugerujesz?


źródło
możliwy duplikat stackoverflow.com/questions/299802/ ...
brettkelly Kwietnia
inkedmn, tak, podobne pytanie, ale nie znalazłem .size()tam odpowiedzi, która mi się raczej podoba.

Odpowiedzi:

5
if($("#something").length > 0 ){
     // Element found
}
else{
    // No element found
}
Malik Khalil
źródło
-1

Dla mnie jeszcze bardziej jQueryesque to:

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

To pozwala mi pisać w typowy sposób:

$("#sel").fadeOut(500,afterFade).isEmpty(insteadOfFade);
Don
źródło