2010-04-15 4 views
67

dire que je netest pour résultat de la sélection jQuery vide

var s = $('#something'); 

et ensuite, je veux tester si jQuery trouvé #something, à savoir que je veux tester si s est vide.

je pouvais utiliser mon isempty() de confiance là-dessus:

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

Ou que les objets jQuery sont des tableaux, je suppose que je pourrais tester s.length.

Mais ni l'un ni l'autre ne semblent tout à fait dans l'idiome de jQuery, pas très jQueryesque. Que suggérez-vous?

+0

double possible de http://stackoverflow.com/questions/299802/how-do-you-check-if- a-selector-exists-in-jquery – inkedmn

+0

inkedmn, oui, question similaire mais je n'ai pas vu la réponse '.size()' là, ce que j'aime plutôt. –

+0

duplication possible de [Existe-t-il une fonction "existe" pour jQuery?] (Http://stackoverflow.com/questions/31044/is-there-an-exists-function-for-jquery) – Bergi

Répondre

78

Utilisez la propriété s.length.

if(s.length == 0) { 
    ... 
} 

[modifier] taille() dépréciée en jquery 1,8 http://api.jquery.com/size/

+3

Je dirais '.size() 'est certainement le plus jQueryesque des options. Bien que j'ose dire '.length' serait plus rapide. Je vous remercie. –

+1

+1 fsb et selon le lien fourni (Billiam), l'utilisation de .length() est "preferred". – chris

+0

@george .length sans les parenthèses – Liam

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