localizando o tipo de um elemento usando jQuery

345

No jQuery, se eu tenho uma referência a um elemento, como posso determinar que tipo de elemento é, por exemplo, uma entrada ou uma lista suspensa? Existe alguma maneira de descobrir?

Duplicado:

Como posso determinar o tipo de elemento correspondente no jQuery?

jyotishka bora
fonte
5
Duplicado: stackoverflow.com/questions/341900/…
Ólafur Waage 03/03
10
Pode ser uma duplicata, mas tem uma resposta melhor e a outra está mal marcada.
Rumpleteaser
2
@Rumpleteaser Se "o outro" está mal marcado, por que você não usa o editbotão abaixo dele e o marca perfeitamente?
Trejder

Respostas:

615

O seguinte retornará true se o elemento for uma entrada:

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

ou você pode usar o seguinte para obter o nome da tag:

$("#elementId").get(0).tagName
Marius
fonte
59
Ao usar $ ("# elementId"). Get (0) .tagName a tagName estará em todas as maiúsculas - TR, DIV etc etc #
Jarede 18/12/12
7
ok, então a propriedade tagName retorna um valor com todas as letras maiúsculas, eu apenas fiz um .toLowerCase()nele
#
9
var elementType = $(this).prop('tagName');
Damodar Bashyal
5
O uso nodeNamepode ser mais consistente em diferentes navegadores: stackoverflow.com/questions/4878484/…
Nathan Jones
2
Observe que esse uso $("#elementId").is(":input")geralmente indica se você está lidando com qualquer tipo de elemento de formulário, sem verificar seu tipo específico ( referência ).
Trejder
12

Você pode usar .prop () com tagNamecomo o nome da propriedade que você deseja obter:

$("#elementId").prop('tagName'); 
Resolução
fonte
4

Vale a pena notar que a segunda resposta de @ Marius poderia ser usada como solução Javascript pura.

document.getElementById('elementId').tagName
Matas Vaitkevicius
fonte