Question jQuery: obtient le nom de tag d'élément sélectionné


Existe-t-il un moyen facile d'obtenir un nom de tag?

Par exemple, si on me donne $('a') dans une fonction, je veux obtenir 'a'.


551
2018-03-18 02:20


origine


Réponses:


Tu peux appeler .prop("tagName"). Exemples:

jQuery("<a>").prop("tagName"); //==> "A"
jQuery("<h1>").prop("tagName"); //==> "H1"
jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"


Si vous écrivez .prop("tagName") est fastidieux, vous pouvez créer une fonction personnalisée comme ceci:

jQuery.fn.tagName = function() {
  return this.prop("tagName");
};

Exemples:

jQuery("<a>").tagName(); //==> "A"
jQuery("<h1>").tagName(); //==> "H1"
jQuery("<coolTagName999>").tagName(); //==> "COOLTAGNAME999"


Notez que les noms de tags sont, par convention, renvoyés CAPITALISÉ. Si vous souhaitez que le nom de tag renvoyé soit en minuscules, vous pouvez modifier la fonction personnalisée comme suit:

jQuery.fn.tagNameLowerCase = function() {
  return this.prop("tagName").toLowerCase();
};

Exemples:

jQuery("<a>").tagNameLowerCase(); //==> "a"
jQuery("<h1>").tagNameLowerCase(); //==> "h1"
jQuery("<coolTagName999>").tagNameLowerCase(); //==> "cooltagname999"

897
2018-03-18 02:22



Vous pouvez utiliser les DOM nodeName propriété:

$(...)[0].nodeName

87
2018-03-18 02:22



À partir de jQuery 1.6, vous devriez maintenant appeler prop:

$target.prop("tagName")

Voir http://api.jquery.com/prop/


54
2017-12-02 10:57



jQuery 1.6+ 

jQuery('selector').prop("tagName").toLowerCase()

Versions plus anciennes 

jQuery('selector').attr("tagName").toLowerCase()

toLowerCase () n'est pas obligatoire.


41
2018-01-19 14:27



C'est encore une autre façon:

$('selector')[0].tagName

20
2018-03-02 19:04



Vous devriez NE PAS utilisation jQuery('selector').attr("tagName").toLowerCase(), parce que cela ne fonctionne que dans les anciennes versions de Jquery.

Toi pourrait utilisation $('selector').prop("tagName").toLowerCase() si vous êtes certain que vous utilisez une version de jQuery thats> = version 1.6.


Remarque :

Vous pouvez penser que tout le monde utilise jQuery 1.10+ ou quelque chose maintenant (Janvier 2016), mais malheureusement, ce n'est pas vraiment le cas. Par exemple, beaucoup de gens utilisent encore Drupal 7, et chaque version officielle de Drupal 7 inclut jQuery 1.4.4 par défaut.

Donc, si vous ne savez pas avec certitude si votre projet utilisera jQuery 1.6+, pensez à utiliser l'une des options qui fonctionnent pour TOUTES les versions de jQuery:

Option 1 :

jQuery('selector')[0].tagName.toLowerCase()

Option 2 

jQuery('selector')[0].nodeName.toLowerCase()

9
2018-01-20 22:40