web-dev-qa-db-fra.com

Vérifier si l'élément existe dans jQuery

Comment vérifier si un élément existe s'il est créé par la méthode .append()? $('elemId').length ne fonctionne pas pour moi.

1177
Nick

$('elemId').length ne fonctionne pas pour moi.

Vous devez mettre # avant l'élément id:

$('#elemId').length
---^

Avec JavaScript vanille, vous n’avez pas besoin du hachage (#) par exemple. document.getElementById('id_here'), cependant, lorsque vous utilisez jQuery, vous devez mettre un hachage sur les éléments cibles en fonction de id, tout comme CSS.

1641
Sarfraz

Essayez de vérifier la longueur du sélecteur, s'il vous renvoie quelque chose, alors l'élément doit exister sinon.

 if( $('#selector').length )         // use this if you are using id to check
{
     // it exists
}


 if( $('.selector').length )         // use this if you are using class to check
{
     // it exists
}
340
Tapan kumar

Essaye ça:

if ($("#mydiv").length > 0){
  // do something here
}

La propriété de longueur retournera zéro si l'élément n'existe pas.

125
Gaurav123

Comment vérifier si un élément existe

if ($("#mydiv").length){  }

S'il s'agit de 0, il sera évalué à false, rien de plus que cela true.

Il n'y a pas besoin de plus que, moins que la comparaison.

60
lfender6445

votre elemId comme son nom l'indique, est un attribut Id. Vous pouvez ainsi vérifier s'il existe:

JavaScript JavaScript: si vous avez des sélecteurs plus avancés:

//you can use it for more advanced selectors
if(document.querySelectorAll("#elemId").length){}

if(document.querySelector("#elemId")){}

//you can use it if your selector has only an Id attribute
if(document.getElementById("elemId")){}

jQuery:

if(jQuery("#elemId").length){}
27
Mehran Hatami

Vous pouvez également utiliser une notation de type tableau et vérifier le premier élément. Le premier élément d'un tableau ou d'une collection vide est simplement undefined. Vous obtenez ainsi le comportement "normal" de vérité/falsification javascript:

var el = $('body')[0];
if (el) {
    console.log('element found', el);
}
if (!el) {
    console.log('no element found');
}
13
loopmode

Vous pouvez utiliser JS natif pour tester l'existence d'un objet:

if (document.getElementById('elemId') instanceof Object){
    // do something here
}

N'oubliez pas que jQuery n'est rien de plus qu'un wrapper sophistiqué (et très utile) autour des commandes et propriétés Javascript natives

9
Webomatik