120 votes

Déterminer si jQuery n'a trouvé aucun élément

J'utilise les sélecteurs de jQuery, en particulier id selector:

 $("#elementId")...
 

Comment dois-je déterminer si jQuery a trouvé l'élément ou non? Même si l'élément avec l'id spécifié n'existe pas, l'instruction suivante me le donne: [object Object]

 alert($("#idThatDoesnotexist"));
 

183voto

futuraprime Points 1391

$('#idThatDoesnotexist').length est ce que vous recherchez. (S'il ne trouve rien, cela va === 0 .) Votre déclaration conditionnelle devrait donc probablement être:

 if ($ ('# id'). length) {/ * code si trouvé * /} sinon {/ * code si non trouvé * /} 

Vous obtenez un objet renvoyé par cette alerte car jQuery retourne (presque) toujours "l'objet jQuery" lorsque vous l'utilisez, ce qui enveloppe les éléments trouvés par jQuery qui permettent le chaînage de méthodes.

26voto

John Hartsock Points 36565

Futuraprime a raison, mais vous pouvez raccourcir votre syntaxe en procédant comme suit:

 if ($("#id").length) {
   //at least one element was found
} else {
   //no elements found
}
 

11voto

Spas Points 92
 !$.isEmptyObject($.find('#id'))
 

Cela retournera true si l'élément existe et false s'il ne le fait pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X