Pregunta jQuery: Obtener el nombre de la etiqueta del elemento seleccionado


¿Hay alguna manera fácil de obtener un nombre de etiqueta?

Por ejemplo, si me dan $('a') en una función, quiero obtener 'a'.


551
2018-03-18 02:20


origen


Respuestas:


Puedes llamar .prop("tagName"). Ejemplos:

jQuery("<a>").prop("tagName"); //==> "A"
jQuery("<h1>").prop("tagName"); //==> "H1"
jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"


Si escribe .prop("tagName") es tedioso, puedes crear una función personalizada como esta:

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

Ejemplos:

jQuery("<a>").tagName(); //==> "A"
jQuery("<h1>").tagName(); //==> "H1"
jQuery("<coolTagName999>").tagName(); //==> "COOLTAGNAME999"


Tenga en cuenta que los nombres de las etiquetas son, por convención, devueltos CAPITALIZADO. Si desea que el nombre de la etiqueta devuelta sea minúscula, puede editar la función personalizada de la siguiente manera:

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

Ejemplos:

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

897
2018-03-18 02:22



Puedes usar los DOM's nodeName propiedad:

$(...)[0].nodeName

87
2018-03-18 02:22



A partir de jQuery 1.6 deberías ahora llamar a prop:

$target.prop("tagName")

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


54
2017-12-02 10:57



jQuery 1.6+ 

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

versiones anteriores 

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

toLowerCase () no es obligatorio.


41
2018-01-19 14:27



Esta es otra forma más:

$('selector')[0].tagName

20
2018-03-02 19:04



Debieras NO utilizar jQuery('selector').attr("tagName").toLowerCase(), porque solo funciona en versiones anteriores de Jquery.

podría utilizar $('selector').prop("tagName").toLowerCase() si está seguro de que está usando una versión de jQuery, eso es> = versión 1.6.


Nota :

Puede pensar que TODO EL MUNDO está usando jQuery 1.10+ o algo por el momento (enero de 2016), pero desafortunadamente ese no es realmente el caso. Por ejemplo, muchas personas hoy todavía usan Drupal 7, y cada lanzamiento oficial de Drupal 7 hasta el día de hoy incluye jQuery 1.4.4 de manera predeterminada.

Por lo tanto, si no sabe con certeza si su proyecto utilizará jQuery 1.6+, considere usar una de las opciones que funcionan para TODAS las versiones de jQuery:

Opción 1 :

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

opcion 2 

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

9
2018-01-20 22:40