encontrar el tipo de un elemento usando jQuery


345

En jQuery, si tengo una referencia a un elemento, ¿cómo puedo determinar qué tipo de elemento es, por ejemplo, una entrada o un menú desplegable? Existe alguna manera de averiguarlo?

Duplicar:

¿Cómo puedo determinar el tipo de elemento de un elemento coincidente en jQuery?



10
Puede ser un duplicado, pero tiene una mejor respuesta, y el otro está mal etiquetado.
Rumpleteaser

2
@Rumpleteaser Si "el otro" está mal etiquetado, ¿por qué no utiliza el editbotón que está debajo y lo etiqueta perfectamente?
trejder

Respuestas:


615

Lo siguiente devolverá verdadero si el elemento es una entrada:

$("#elementId").is("input") 

o puede usar lo siguiente para obtener el nombre de la etiqueta:

$("#elementId").get(0).tagName

59
Al usar $ ("# elementId"). Get (0) .tagName, el tagName estará en mayúsculas: TR, DIV, etc., etc.
Jarede

77
bien, entonces la propiedad tagName devuelve un valor de mayúsculas, acabo de hacer una .toLowerCase()en él
pythonian29033

99
var elementType = $(this).prop('tagName');
Damodar Bashyal

55
El uso nodeNamepodría ser más consistente en diferentes navegadores: stackoverflow.com/questions/4878484/…
Nathan Jones

2
Tenga en cuenta que el uso $("#elementId").is(":input")generalmente le dirá, si está tratando con algún tipo de elemento de formulario, sin verificar su tipo específico ( referencia ).
trejder

12

Puede usar .prop () con tagNameel nombre de la propiedad que desea obtener:

$("#elementId").prop('tagName'); 

4

Vale la pena señalar que la segunda respuesta de @ Marius podría usarse como una solución Javascript pura.

document.getElementById('elementId').tagName
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.