2010-05-01 5 views
24

Je veux obtenir le nom d'une certaine étiquette (pour dire si elle est une div/entrée/span/p/etc.)Quel est le meilleur moyen d'obtenir le nom de tag d'un élément dans JS?

je trouve qu'il ya 3 attributs différents qui me donnent le nom de tag:

tagName, nodeName et localName

Ma question est: Lequel est le plus pris en charge dans tous les navigateurs? Et/ou existe-t-il une méthode pour obtenir le nom de l'étiquette dans Prototype (j'ai regardé mais je n'ai pas pu trouver un)?

+0

Vous devez ignorer 'localName' car il est maintenant obsolète ([source] (https://developer.mozilla.org/en-US/docs/Web/API/Node/localName)). – 10basetom

Répondre

24

nodeName est la plus cohérente ici. Je vous suggère take a minute and read this post for a few differences and inconsistencies with tagName si vous êtes plus curieux de savoir pourquoi.

Pour la partie prototype de la question ... c'est une propriété JavaScript, juste this.nodeName devrait fonctionner ou element.nodeName, peu importe ce que votre élément appelé dans la fonction actuelle devrait fonctionner.

+0

Joli lien vers l'article, +1 :). En ce qui concerne la fonction prototype, je veux juste dire qu'il y a une fonction qui détermine quelle propriété est la meilleure à utiliser en fonction du navigateur, comme utiliser 'update()' au lieu de '.innerHTML' –

+0

@webdestroya - Puisque celui-ci fonctionne de manière cohérente sur les navigateurs , pas besoin d'ajouter de surcharge dans la librairie, par exemple jQuery n'a pas de méthode pour ça non plus :) :) –

+0

Ah bon point. Merci d'avoir répondu! –

Questions connexes