2008-10-31 10 views

Respuesta

182

nodeName es el atributo que está buscando. Por ejemplo:

var elt = document.getElementById('foo'); 
console.log(elt.nodeName); 

Tenga en cuenta que nodeName devuelve el nombre del elemento en mayúsculas y sin los paréntesis angulares, lo que significa que si usted quiere comprobar si un elemento es un elemento <div> que podría hacerlo de la siguiente manera:

elt.nodeName == "DIV" 

Si bien esto no le daría los resultados esperados:

elt.nodeName == "<div>" 
+14

Recomiendo hacerlo así: if (elt.nodeName.toLowerCase() === "div") {...} De esta manera, si por alguna razón ya no se devuelve en letras mayúsculas (minúsculas) o mixto), no tendrá que cambiarlo y este código seguirá funcionando bien. – TheCuBeMan

+1

En respuesta a @TheCuBeMan, usar toLowerCase() significa que también debe asegurarse de que existe nodeName (si es posible, elt no es, de hecho, un elemento): 'if (elt.nodeName && elt.nodeName.toLowerCase () === 'div') {...} ' –

27

¿Qué hay de element.tagName?

Véase también tagName docs on MDN.

+1

de acuerdo con las marcas de tiempo que me ganó por menos de 1 segundo! – eyelidlessness

+1

Incluso logré arrojar algo de inglés extraño. ¡Crikey! –

+19

de QuirksMode: Mi consejo es no utilizar tagName en absoluto. nodeName contiene todas las funcionalidades de tagName, más algunas más. Por lo tanto, nodeName es siempre la mejor opción. – bdukes

Cuestiones relacionadas