J'utilise jQuery et je souhaite vérifier l'existence d'un élément dans ma page. J'ai écrit le code suivant, mais cela ne fonctionne pas:
if($("#btext" + i) != null) {
//alert($("#btext" + i).text());
$("#btext" + i).text("Branch " + i);
}
Comment vérifier l'existence de l'élément?
lenght
place delength
; c'est une faute d'orthographe..length
.(Puisque je ne semble pas avoir assez de réputation pour voter contre la réponse ...)
Wolf a écrit:
S'il est vrai que l'appel de la propriété length sur un objet non défini ou nul entraînera l'échec des navigateurs, le résultat des sélecteurs de jQuery (le $ ('...')) ne sera jamais nul ou indéfini. Ainsi, les suggestions de code n'ont aucun sens. Utilisez l'une des autres réponses, elles ont plus de sens.
(Mise à jour 2012) Parce que les gens regardent le code et que cette réponse est assez élevée dans la liste: depuis quelques années, j'utilise ce petit plugin:
Je pense que $ ('div'). Any () lit mieux que $ ('div'). Length , plus vous ne souffrirez pas autant des fautes de frappe: $ ('div'). Ayn () donnera une erreur d'exécution , $ ('div'). longueur sera très probablement toujours faux.
__
Modifications en novembre 2012:
1) Parce que les gens ont tendance à regarder le code et à ne pas lire ce qui est dit autour du code, j'ai ajouté deux grandes mises en garde pour le lecteur au code cité de Wolf.
2) J'ai ajouté le code du petit plugin que j'utilise pour cette situation.
la source
La fonction de recherche renvoie un tableau d'éléments correspondants. Vous pouvez vérifier si la longueur est égale à zéro. Notez le changement pour ne rechercher les éléments qu'une seule fois et réutiliser les résultats si nécessaire.
De plus, avez-vous simplement essayé d'utiliser la fonction de texte - si aucun élément n'existe, cela ne fera rien.
la source
La fonction jquery $ () renvoie toujours une valeur non nulle - signifie que les éléments correspondent à votre sélecteur cretaria. Si l'élément n'a pas été trouvé, il renverra un tableau vide. Donc, votre code ressemblera à quelque chose comme ceci -
la source
Dans jQuery 1.4, vous obtenez la fonction $ .isEmptyObject, mais si vous êtes obligé d'utiliser une ancienne version de jQ comme nous, les pauvres développeurs Drupal volent simplement, utilisez ce code:
Utilisez-le comme:
la source
peu importe ce que vous sélectionnez, la fonction
$()
renvoie toujours un objet jQuery afin qu'il ne puisse pas être utilisé pour tester. Le meilleur moyen encore (sinon le seul) est d'utiliser lasize()
fonction ou la propriété native length comme expliqué ci-dessus.la source
L'objet jQuery qui est retourné par toutes les méthodes jQuery natives n'est PAS un tableau, c'est un objet avec de nombreuses propriétés; l'un d'eux étant une propriété "longueur". Vous pouvez également vérifier la taille () ou get (0) ou get () - 'get (0)' fonctionne de la même manière que l'accès au premier élément, c'est-à-dire $ (elem) [0]
la source
Qu'en est-il de l'utilisation de "non défini"?
la source
utilisez
$("#selector").get(0)
pour vérifier avec null comme ça. get renvoie l'élément dom, jusqu'à ce que vous ayez affaire à un tableau, où vous devez vérifier la propriété length. Personnellement, je n'aime pas la vérification de la longueur pour la gestion des nuls, cela me déroute pour une raison quelconque :)la source
En utilisant la propriété length, vous pouvez le faire.
la source
lorsque l'objet est vide, renvoie cette erreur:
J'essaye ce code:
la source
la source
L'appel de la propriété length sur un objet non défini ou nul entraînera l'échec des navigateurs IE et webkit!
Essayez plutôt ceci:
ou
la source