jQuery: Obtenir de l'élément sélectionné nom de la balise
Est-il un moyen facile d'obtenir un nom de balise?
Par exemple, si je me suis donné $('a')
dans une fonction, je veux obtenir 'a'
.
Vous devez vous connecter pour publier un commentaire.
Est-il un moyen facile d'obtenir un nom de balise?
Par exemple, si je me suis donné $('a')
dans une fonction, je veux obtenir 'a'
.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez appeler
.prop("tagName")
. Exemples:Si l'écriture
.prop("tagName")
est fastidieux, vous pouvez créer une fonction personnalisée comme suit:Exemples:
Notez que les noms des balises sont, par convention, est revenu MAJUSCULE. Si vous voulez le retour de nom de balise être en minuscules, vous pouvez modifier la fonction personnalisée comme suit:
Exemples:
.prop
.toLowerCase()
outoUpperCase()
peut être utile lors de la comparaisonprop('tagName')
suite à un nom de balise.if($("my_selector").prop("tagName").toLowerCase() == 'div')
ouif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
Vous pouvez utiliser le DOM est
nodeName
de la propriété:$(this).prop('tagname')
. c'.nodeName est souvent plus efficace. +1De jQuery 1.6 vous devriez maintenant appeler prop:
Voir http://api.jquery.com/prop/
jQuery 1.6+
Les anciennes versions
toLowerCase() n'est pas obligatoire.
new String
?tagName
est déjà une chaîne de caractères.C'est encore une autre façon:
Vous devriez PAS utilisation
jQuery('selector').attr("tagName").toLowerCase()
, car il ne fonctionne que dans les anciennes versions de Jquery.Vous pourrait utilisation
$('selector').prop("tagName").toLowerCase()
si vous êtes certain que vous utilisez une version de jQuery c'est >= la version 1.6.Remarque :
Vous pouvez penser que tout le monde est à l'aide de jQuery 1.10+ ou quelque chose maintenant (janvier 2016), mais malheureusement, ce n'est pas vraiment le cas. Par exemple, beaucoup de gens aujourd'hui sont encore à l'aide de Drupal 7, et à chaque lancement officiel de Drupal 7 à ce jour inclut jQuery 1.4.4 par défaut.
Donc, si ne sais pas si votre projet sera à l'aide de jQuery 1.6+, utilisez l'une des options qui fonctionnent pour TOUTES les versions de jQuery :
Option 1 :
Option 2