jQuery: obter o nome da tag do elemento selecionado

Existe uma maneira fácil de obter um nome de tag?

Por exemplo, se eu receber $('a') em uma function, quero obter 'a' .

Você pode chamar .prop("tagName") . Exemplos:

 jQuery("").prop("tagName"); //==> "A" jQuery("

").prop("tagName"); //==> "H1" jQuery("").prop("tagName"); //==> "COOLTAGNAME999"

Se escrever o .prop("tagName") for tedioso, você poderá criar uma function personalizada da seguinte forma:

 jQuery.fn.tagName = function() { return this.prop("tagName"); }; 

Exemplos:

 jQuery("").tagName(); //==> "A" jQuery("

").tagName(); //==> "H1" jQuery("").tagName(); //==> "COOLTAGNAME999"

Observe que os nomes das tags são, por convenção, retornados CAPITALIZED . Se você quiser que o nome da tag retornada fique todo em minúsculas, edite a function personalizada da seguinte forma:

 jQuery.fn.tagNameLowerCase = function() { return this.prop("tagName").toLowerCase(); }; 

Exemplos:

 jQuery("").tagNameLowerCase(); //==> "a" jQuery("

").tagNameLowerCase(); //==> "h1" jQuery("").tagNameLowerCase(); //==> "cooltagname999"

Você pode usar a propriedade nodeName do DOM:

 $(...)[0].nodeName 

A partir do jQuery 1.6, você deve agora chamar prop:

 $target.prop("tagName") 

Veja http://api.jquery.com/prop/

jQuery 1.6+

 jQuery('selector').prop("tagName").toLowerCase() 

versões mais antigas

 jQuery('selector').attr("tagName").toLowerCase() 

toLowerCase () não é obrigatório.

Este é ainda outro caminho:

 $('selector')[0].tagName 

Você NÃO deve usar o jQuery('selector').attr("tagName").toLowerCase() , porque ele só funciona em versões mais antigas do Jquery.

Você pode usar $('selector').prop("tagName").toLowerCase() se tiver certeza de estar usando uma versão do jQuery que seja> = versão 1.6.


Nota :

Você pode pensar que TODOS está usando o jQuery 1.10+ ou algo assim até agora (janeiro de 2016), mas infelizmente esse não é realmente o caso. Por exemplo, muitas pessoas hoje ainda estão usando o Drupal 7, e todo lançamento oficial do Drupal 7 até hoje inclui o jQuery 1.4.4 por padrão.

Portanto, se não souber ao certo se o seu projeto usará o jQuery 1.6+, considere o uso de uma das opções que funcionam para TODAS as versões do jQuery:

Opção 1 :

 jQuery('selector')[0].tagName.toLowerCase() 

opção 2

 jQuery('selector')[0].nodeName.toLowerCase()