¿Hay una manera fácil de obtener un nombre de etiqueta?
Por ejemplo, si tengo $('a')
una función, quiero obtenerla 'a'
.
javascript
jquery
jquery-selectors
configurador
fuente
fuente
Respuestas:
Puede llamar
.prop("tagName")
. Ejemplos:Si escribir
.prop("tagName")
es tedioso, puede crear una función personalizada como esta:Ejemplos:
Tenga en cuenta que los nombres de etiqueta son, por convención, devueltos CAPITALIZADOS . Si desea que el nombre de la etiqueta devuelta esté en minúsculas, puede editar la función personalizada de la siguiente manera:
Ejemplos:
fuente
.prop
.toLowerCase()
otoUpperCase()
puede ser útil al comparar elprop('tagName')
resultado con el nombre de una etiqueta.if($("my_selector").prop("tagName").toLowerCase() == 'div')
oif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
Puede usar la
nodeName
propiedad del DOM :fuente
$(this).prop('tagname')
. this.nodeName es a menudo más eficiente. +1A partir de jQuery 1.6, ahora debe llamar a prop:
Ver http://api.jquery.com/prop/
fuente
jQuery 1.6+
versiones anteriores
toLowerCase () no es obligatorio.
fuente
new String
?Esta es otra forma más:
fuente
NO deberías usar
jQuery('selector').attr("tagName").toLowerCase()
, porque solo funciona en versiones anteriores de Jquery.Usted podría utilizar
$('selector').prop("tagName").toLowerCase()
si está seguro de que está utilizando una versión de jQuery eso es> = versión 1.6.Nota :
Puede pensar que TODOS están 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 en día todavía usan Drupal 7, y cada versión oficial de Drupal 7 hasta el día de hoy 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 :
opcion 2
fuente
nodeName le dará el nombre de la etiqueta en mayúscula, mientras que localName le dará la letra minúscula.
te dará: turelemento en lugar de YOURELEMENT
fuente