Acceder a un element d'une page HTML par son nom

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Acceder a un element d'une page HTML par son nom

par Xenon_54 » 05 juin 2007, 02:35

Utilise <balise id="identifiant"> et getElementById().
Cela garantira que ton élément est unique. (un id ne pouvant être utilisé plus d'une fois)

par cortex007 » 04 juin 2007, 18:21

Il se trouve que getElementsByName() est un alias à la fonction getElementsByTagName() qui récupère les balises dont le nom correspond, pas l'attribut name
c'est a moitie vrais et a moitie faux, getElementsByName() met dans un tableau tout les elements de balises html qui ont pour nom name mais pour IE il y a un bug qui fait qu'il met dans un tableau tout les elements de balise HTML qui on pour id name ;) (cruelle subtilite )

par cortex007 » 04 juin 2007, 18:01

merci je vais tester ca de suite

par zeus » 04 juin 2007, 17:08

Il se trouve que getElementsByName() est un alias à la fonction getElementsByTagName() qui récupère les balises dont le nom correspond, pas l'attribut name.

cela signifie que pour récupérer la balise suivante :

Code : Tout sélectionner

<a name="monLien">toto</a>
il faut écrire

Code : Tout sélectionner

document.getElementsByName('div');
et non pas

Code : Tout sélectionner

document.getElementsByName('monLien');

Acceder a un element d'une page HTML par son nom

par cortex007 » 04 juin 2007, 14:19

Bonjour, sur une page html que j'ai faite j'ai un probleme pour acceder a des elements par leur nom. Je m'explique j'ai le code suivant :

Code : Tout sélectionner

... <div name='conteneur' onMouseOut="modification(this);"onMouseOver="remise(this);> <div name='target'> <img name='imageconteneur' src='...'> </div> </div> ...
je voudrais avec la fonction modification alterer la taille et le style de la balise 'conteneur' et aussi changer la source de l'image 'imageconteneur'
Pour le changement des proprietes CSS j'ai fait :

Code : Tout sélectionner

objet.style.height='...'; objet.style.backgroundColor='#....'; objet.style.color='...';

ou objet est le parametre de la fonction (ne marche pas avec firefox donc deja il y a des erreurs)

Mais j'arrive pas a acceder a l'objet 'imageconteneur' , j'ai essaye d'utiliser la fonction getElementsByName de la maniere suivante mais cela ne fonctionne pas.

Code : Tout sélectionner

alert(document.getElementsByName('image'+objet.name)[0].name);
pouvez vous m'indiquer mon erreur ? (le tableau doit normalement avoir 1 element )