web-dev-qa-db-fra.com

Comment trouver si un élément avec un identifiant spécifique existe ou non

Dans mon JavaScript, je veux vérifier si l'élément avec un identifiant spécifique existe ou non, je l'ai essayé de 2 façons

1).

var myEle = document.getElementById("myElement");
if(myEle  == null){
   var myEleValue= document.getElementById("myElement").value;
}

2).

if(getElementById("myElement")){
    var myEleValue= document.getElementById("myElement").value;
}

mais cela donne la même erreur que ci-dessous -

Objet attendu

29
Amita Patil
 var myEle = document.getElementById("myElement");
    if(myEle){
        var myEleValue= myEle.value;
    }
59
Mr.Bruno

Vous pouvez simplement utiliser if(yourElement)

var a = document.getElementById("elemA");
var b = document.getElementById("elemB");

if(a)
  console.log("elemA exists");
else
  console.log("elemA does not exist");
  
if(b)
  console.log("elemB exists");
else
  console.log("elemB does not exist");
<div id="elemA"></div>
7
Weedoze

Vous devez spécifier de quel objet vous appelez getElementById. Dans ce cas, vous pouvez utiliser le document. Vous ne pouvez pas non plus appeler directement la valeur d'un élément directement. Par exemple, si l'élément est textbox, la valeur retournera la valeur, mais s'il s'agit d'un div, elle n'aura pas de valeur.

Vous avez également une mauvaise condition, vous vérifiez

si (myEle == null)

que vous devriez changer en

si (myEle! = null)

var myEle = document.getElementById("myElement");
if(myEle != null) { 
    var myEleValue= myEle.value; 
}
3
Armin
document.getElementById('yourId')

est la bonne façon.

le document fait référence au document HTML chargé dans le DOM.

et il recherche l'id en utilisant la fonction getElementById () qui prend un paramètre de l'id d'un élément

La solution sera:

var elem = (document.getElementById('myElement'))? document.getElementById('myElement').value : '';

/* this will assign a value or give you and empty string */
2
Rahil Lakhani

getElementById

Valeur de retour: Un objet Element, représentant un élément avec l'ID spécifié. Retourne null si aucun élément avec l'ID spécifié n'existe, voir: https://www.w3schools.com/jsref/met_document_getelementbyid.asp

Truthy vs Falsy

En JavaScript, une valeur de vérité est une valeur considérée comme vraie lorsqu'elle est évaluée dans un contexte booléen. Toutes les valeurs sont vraies à moins qu’elles ne soient définies comme fausseté (c’est-à-dire, sauf pour faux, 0, "", nul, non défini et NaN). voir: https://developer.mozilla.org/en-US/docs/Glossary/Truthy

Lorsque l'élément dom n'est pas trouvé dans la document, il retournera null. null est un Falsy et peut être utilisé comme boolean expression dans l'instruction if.

var myElement = document.getElementById("myElement");
if(myElement){
  // Element exists
}
1
khoekman