Maison  >  Article  >  interface Web  >  Comment vérifier efficacement l'existence d'un élément dans le DOM visible sans utiliser getElementById ?

Comment vérifier efficacement l'existence d'un élément dans le DOM visible sans utiliser getElementById ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-21 22:27:02675parcourir

How to Efficiently Check Element Existence in the Visible DOM Without Using getElementById?

Comment vérifier l'existence d'un élément dans le DOM visible

Test de l'existence d'un élément sans getElementById

Lorsque vous essayez de vérifier l'existence d'un élément sans utiliser getElementById, il Il devient évident que les variables ne conservent pas de références actives aux éléments DOM mais conservent plutôt leurs valeurs initiales. Cela peut conduire à des résultats inattendus lors de la vérification de l'existence d'un élément après sa suppression du DOM.

Une méthode de vérification de l'existence

Pour résoudre ce problème, considérez la fonction isNull, qui tente de vérifier un l'existence de l'élément :

<code class="javascript">var isNull = function (element) {
  var randomID = getRandomID(12),
    savedID = (element.id) ? element.id : null;
  element.id = randomID;
  var foundElm = document.getElementById(randomID);
  element.removeAttribute('id');
  if (savedID !== null) {
    element.id = savedID;
  }
  return (foundElm) ? false : true;
};</code>

Cette méthode fonctionne, mais une approche plus simple est suggérée.

Vérifier l'existence dans le DOM visible

Pour déterminer si un élément est présent dans le visible DOM, utilisez la méthode contain() :

<code class="javascript">document.body.contains(someReferenceToADomElement);</code>

Cette méthode renvoie un booléen indiquant si l'élément fait partie du DOM. Elle offre un moyen plus direct et efficace de vérifier l'existence par rapport à la fonction isNull.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn