trouver le type d'un élément à l'aide de jQuery


345

Dans jQuery, si j'ai une référence à un élément, comment puis-je déterminer de quel type d'élément il s'agit, par exemple, une entrée ou une liste déroulante? Existe-t-il un moyen de le savoir?

Dupliquer:

Comment puis-je déterminer le type d'élément d'un élément correspondant dans jQuery?



10
Peut être un doublon, mais il a une meilleure réponse, et l'autre est mal étiqueté.
Rumpleteaser

2
@Rumpleteaser Si "l'autre" est mal marqué, alors pourquoi ne pas utiliser le editbouton en dessous et le marquer parfaitement?
trejder

Réponses:


615

Ce qui suit retournera vrai si l'élément est une entrée:

$("#elementId").is("input") 

ou vous pouvez utiliser ce qui suit pour obtenir le nom de la balise:

$("#elementId").get(0).tagName

59
Lors de l'utilisation de $ ("# elementId"). Get (0) .tagName le tagName sera en majuscules - TR, DIV etc etc
Jarede

7
ok, donc la propriété tagName renvoie une valeur tout en majuscules, je viens de faire un .toLowerCase()dessus
pythonian29033

9
var elementType = $(this).prop('tagName');
Damodar Bashyal

5
L'utilisation nodeNamepourrait être plus cohérente sur différents navigateurs: stackoverflow.com/questions/4878484/…
Nathan Jones

2
Notez que l'utilisation $("#elementId").is(":input")vous indiquera généralement, si vous avez affaire à n'importe quel type d'élément de formulaire, sans vérifier son type spécifique ( référence ).
trejder

12

Vous pouvez utiliser .prop () avec tagNamecomme nom de la propriété que vous souhaitez obtenir:

$("#elementId").prop('tagName'); 

4

Il convient de noter que la deuxième réponse de @ Marius pourrait être utilisée comme solution Javascript pure.

document.getElementById('elementId').tagName
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.