Existe-t-il un moyen simple d'obtenir un nom de tag?
Par exemple, si on me donne $('a')
une fonction, je veux l'obtenir 'a'
.
javascript
jquery
jquery-selectors
configurateur
la source
la source
Réponses:
Vous pouvez appeler
.prop("tagName")
. Exemples:Si l'écriture
.prop("tagName")
est fastidieuse, vous pouvez créer une fonction personnalisée comme ceci:Exemples:
Notez que les noms de balises sont, par convention, retournés CAPITALISÉS . Si vous souhaitez que le nom de balise renvoyé soit entièrement en minuscules, vous pouvez modifier la fonction personnalisée comme suit:
Exemples:
la source
.prop
.toLowerCase()
outoUpperCase()
peut être utile pour comparer leprop('tagName')
résultat à un nom de balise.if($("my_selector").prop("tagName").toLowerCase() == 'div')
ouif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
Vous pouvez utiliser la
nodeName
propriété du DOM :la source
$(this).prop('tagname')
. this.nodeName est souvent plus efficace. +1Depuis jQuery 1.6, vous devez maintenant appeler prop:
Voir http://api.jquery.com/prop/
la source
jQuery 1.6+
Versions plus anciennes
toLowerCase () n'est pas obligatoire.
la source
new String
?C'est encore une autre façon:
la source
Vous ne devez PAS l' utiliser
jQuery('selector').attr("tagName").toLowerCase()
, car il ne fonctionne que dans les anciennes versions de Jquery.Vous pouvez utiliser
$('selector').prop("tagName").toLowerCase()
si vous êtes certain d'utiliser une version de jQuery qui est> = version 1.6.Remarque :
Vous pensez peut-être que TOUT LE MONDE utilise jQuery 1.10+ ou quelque chose comme ça (janvier 2016), mais malheureusement ce n'est pas vraiment le cas. Par exemple, de nombreuses personnes utilisent encore Drupal 7 aujourd'hui, et chaque version officielle de Drupal 7 à ce jour inclut par défaut jQuery 1.4.4.
Donc, si vous ne savez pas avec certitude si votre projet utilisera jQuery 1.6+, envisagez d'utiliser l'une des options qui fonctionnent pour TOUTES les versions de jQuery:
Option 1 :
Option 2
la source
nodeName vous donnera le nom de la balise en majuscule, tandis que localName vous donnera la minuscule.
vous donnera: votre élément au lieu de VOTRE ÉLÉMENT
la source