javascript - page - jQuery: Obtener el nombre de la etiqueta del elemento seleccionado
jquery id value (6)
¿Hay una manera fácil de obtener un nombre de etiqueta?
Por ejemplo, si me dan $(''a'')
en una función, quiero obtener ''a''
.
A partir de jQuery 1.6 ahora deberías llamar prop:
$target.prop("tagName")
Esta es otra manera:
$(''selector'')[0].tagName
Puede llamar a .prop("tagName")
. Ejemplos:
jQuery("<a>").prop("tagName"); //==> "A"
jQuery("<h1>").prop("tagName"); //==> "H1"
jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"
Si escribir .prop("tagName")
es tedioso, puede crear una función personalizada así:
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 en CAPITALIZADO . Si desea que el nombre de la etiqueta devuelta sea todo en minúscula, puede editar la función personalizada así:
jQuery.fn.tagNameLowerCase = function() {
return this.prop("tagName").toLowerCase();
};
Ejemplos:
jQuery("<a>").tagNameLowerCase(); //==> "a"
jQuery("<h1>").tagNameLowerCase(); //==> "h1"
jQuery("<coolTagName999>").tagNameLowerCase(); //==> "cooltagname999"
Puedes usar la propiedad nodeName
del DOM:
$(...)[0].nodeName
NO debe usar jQuery(''selector'').attr("tagName").toLowerCase()
, porque solo funciona en versiones anteriores de Jquery.
Podría usar $(''selector'').prop("tagName").toLowerCase()
si está seguro de que está usando una versión de jQuery thats> = versión 1.6.
Nota :
Puede pensar que TODOS están usando jQuery 1.10+ o algo por ahora (enero de 2016), pero lamentablemente ese no es el caso. Por ejemplo, muchas personas hoy en día siguen usando Drupal 7, y hasta la fecha, cada lanzamiento oficial de Drupal 7 incluye jQuery 1.4.4 de forma predeterminada.
Entonces, si no sabe con certeza si su proyecto usará 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()
jQuery 1.6+
jQuery(''selector'').prop("tagName").toLowerCase()
versiones anteriores
jQuery(''selector'').attr("tagName").toLowerCase()
toLowerCase () no es obligatorio.