2010-05-01 10 views
24

Quiero obtener el nombre de una determinada etiqueta (para saber si se trata de un div/entrada/span/p/etc.)¿Cuál es la mejor forma de obtener el nombre de etiqueta de un elemento en JS?

he encontrado que hay 3 atributos diferentes que me dan el nombre de la etiqueta:

tagName, nodeName y localName

Mi pregunta es: ¿Cuál es el más apoyado en todos los navegadores? ¿Y/o hay un método para obtener el nombre de la etiqueta en Prototype (miré pero no pude encontrar uno)?

+0

Debe ignorar 'localName' ya que ahora está obsoleto ([fuente] (https://developer.mozilla.org/en-US/docs/Web/API/Node/localName)). – 10basetom

Respuesta

24

nodeName es el más consistente aquí. Yo te sugeriría take a minute and read this post for a few differences and inconsistencies with tagName si eres más curioso sobre por qué.

Para la parte prototipo de la pregunta ... es una propiedad de JavaScript, solo this.nodeName debería funcionar o element.nodeName, cualquiera que sea el elemento llamado en la función actual debería funcionar.

+0

Buen enlace al artículo, +1 :). En cuanto a la función de prototipo, solo quería decir que hay una función que determina qué propiedad es mejor usar basada en el navegador, como usar 'update()' en vez de '.innerHTML' –

+0

@webdestroya - Dado que este funciona de manera consistente en todos los navegadores , no es necesario agregar ninguna sobrecarga en la biblioteca, por ejemplo jQuery tampoco tiene ningún método para esto :) –

+0

Ah, buen punto. ¡Gracias por la respuesta! –

Cuestiones relacionadas