Question Vérifiez si l'élément existe dans jQuery [en double]


Cette question a déjà une réponse ici:

Comment vérifier si un élément existe si l'élément est créé par .append() méthode? $('elemId').length ça ne marche pas pour moi.


1014
2018-01-04 10:15


origine


Réponses:


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

Vous devez mettre # avant l'identifiant de l'élément:

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

Avec JavaScript en vanilla, vous n'avez pas besoin du hash (#) par exemple. document.getElementById('id_here') Cependant, lors de l'utilisation de jQuery, vous devez mettre un hachage sur les éléments cibles en fonction de id juste comme CSS.


1446
2018-01-04 10:17



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

 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
}

287
2017-10-07 12:54



Essaye ça:

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

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


92
2018-02-13 04:38



Comment puis-je vérifier si un élément existe

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

Si c'est 0, il va évaluer à false, rien de plus que ça true.

Il n'y a pas besoin d'une comparaison supérieure à, inférieure à.


51
2018-06-30 21:37



votre elemId comme son nom l'indique, est un Id attribut, ce sont tout ce que vous pouvez faire pour vérifier si elle existe:

Vanilla JavaScript: dans le cas où 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){}

24
2018-02-15 17:41



Vous pouvez également utiliser la 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, donc vous obtenez le comportement "normal" de javascript vérité / falsie:

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

11
2017-09-17 21:24



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 de commandes et de propriétés JavaScript natives


7
2018-05-12 13:12



Si vous avez un cours sur votre élément, vous pouvez essayer ce qui suit:

if( $('.exists_content').hasClass('exists_content') ){
 //element available
}

-12
2018-01-29 10:09