Récupérer en JS les attribut d'une balise HTML [Résolu]

rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 31 juil. 2008 à 14:39 - Dernière réponse : rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention
- 1 août 2008 à 08:20
bonjour

j'aimerais savoir comment faire pour récupérer en JS les attribut d'une balise HTML

exemple : de balise

<script language="javascript" type="text/javascript" src="/rep/rep/rep/MooTools.js"></script>

j'aimerais pouvoir récupérer les valeur de language, type et src !

mais je n'y arrive pas !
Afficher la suite 

6 réponses

Répondre au sujet
XtremDuke 631 Messages postés samedi 28 septembre 2002Date d'inscription 18 mai 2009 Dernière intervention - 31 juil. 2008 à 14:52
+3
Utile
var listBalises = document.getElementsByTagName('script');
for(var i=0; i<listBalises.length; i++){
     alert(listBalises[i].getAttribute('type');
}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de XtremDuke
sfresnel 7 Messages postés mercredi 6 octobre 2004Date d'inscription 1 août 2008 Dernière intervention - 31 juil. 2008 à 15:35
+3
Utile
Deux solutions:

En utilisant la structure for ... in

for ( var name in element )
  alert ( name + ": " + element[name] );

Ou bien en passant par la colelction element.attributes:
for ( var i in element.attributes.length )
  alert ( element.attributes[i].name  + ": " + element.attributes[i].value );

La variable element contient la balise dont tu veux récupérer les attributs.
- Ajax, ca pique les yeux, mais c'est pas grave!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sfresnel
sfresnel 7 Messages postés mercredi 6 octobre 2004Date d'inscription 1 août 2008 Dernière intervention - 31 juil. 2008 à 17:25
+3
Utile
Oui c'est un attribut. Mais il faut se méfier de la notion d'attribut, notamment chez Microsoft. Car il y a les attributs standards (ceux définis par la norme W3C) et les attributs spécifiques à l'implémentation. Par exemple, certaines données sont accessibles en faisant element['attrName'] mais pas en faisant element.getAttributeName ( 'attrName' );

Plutôt que d'utiliser tagName, je te conseille d'utiliser nodeName. tagName est une spécificité d'HTML alors de nodeName est un standard XML
- Ajax, ca pique les yeux, mais c'est pas grave!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sfresnel
sfresnel 7 Messages postés mercredi 6 octobre 2004Date d'inscription 1 août 2008 Dernière intervention - 31 juil. 2008 à 15:36
0
Utile
Petite correction, dans le deuxième exemple, il fallait lire
for (var i = 0; i < element.attributes.length; i++ )
  alert ( element.attributes[i].name + ": " + element.attributes[i].value );
- Ajax, ca pique les yeux, mais c'est pas grave!
Commenter la réponse de sfresnel
rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 31 juil. 2008 à 15:58
0
Utile
merci

ça fonctionne

petite question subsidiaire
tagName est un attribut ?
Commenter la réponse de rhan_659
rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 1 août 2008 à 08:20
0
Utile
merci

je vais regarder ça
Commenter la réponse de rhan_659

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.