¿Hay una manera fácil de obtener un nombre de etiqueta?
Por ejemplo, si me dan $('a') en una función, quiero obtener 'a' .
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 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, por convención, los nombres de las etiquetas se devuelven en MAYÚSCULAS . Si desea que el nombre de la etiqueta devuelta esté en minúsculas, 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"Puede usar la propiedad nodeName del DOM:
$(...)[0].nodeNameA partir de jQuery 1.6, ahora debe llamar a prop:
$target.prop("tagName")