Forum Clubic

Savoir si un élément existe

Salut,

Je débute dans le javascript, je récupère une page XML, le nom des balises (XML) représente l’identifiant de certaines balises HTML de la page.
Il arrive quelques fois que des noms de balises ne correspondent à aucun identifiant de balise HTML.
Donc quant je fais un getElementById, ca arrête le script.

Existe t’il un moyen pour vérifier qu’une balise comportant l’identifiant demandé existe avant de lancer le getElementById.

Merci d’avance pour vos conseils.

A+

Ca arrête le script??? Tu veux dire que ta page est tellement grosse que son parcours intégral pour vérifier la présence -l’absence dans le cas présent- de ton element plombe ton traitement? Ca ne doit pas être top non plus même quand ton objet est présent…

Tu peux restreindre la recherche à un sous-arbre (En effectuant ton propre parcours), si tu sais où chercher

– Edit

J’avais zappé le ‘je débute’… Juste pour être sûr, pour ta recherche, tu fais quelque chose du genre


var monItem = document.getElementById(monIdentifiantRecupereDuXML);
if (monItem) {
   // Traitement
}
else {
   // Element absent -> Message d'erreur?
}

Edité le 23/06/2007 à 18:50

Ah ok, merci.

Firefox affuche une erreur et il me semble qu’il arrête le script si il ne trouve pas l’objet.

La page en elle même n’est pas énorme.

Le script PHP retourne une page XML divisée par des balises. Le script Javascript boucle sur les balises, chaque balise contient l’id de l’élément HTML, il applique ensuite ce qui est indiqué entre les balises XML.

Bon ben, il suffit d’appliquer ce qui est mis après le --Edit
JavaScript ne diffère pas des langages plus traditionnels sur ce point :wink:
Ce n’est pas le fait de ne pas trouver l’élément qui bloque le script, mais le fait d’effectuer une opération sur un pointeur vide… En C, ce serait une erreur de segmentation, en Java un NullPointerException

Ok, je vais essayer.

En tout ca merci pour cette explication précise.