web-dev-qa-db-fra.com

Comment puis-je déterminer le type d'un élément HTML en JavaScript?

J'ai besoin d'un moyen de déterminer le type d'un élément HTML en JavaScript. Il a l'identifiant, mais l'élément lui-même pourrait être un div, un champ de formulaire, un jeu de champs, etc. Comment puis-je y parvenir?

154
AdamTheHutt

nodeName est l'attribut que vous recherchez. Par exemple:

var elt = document.getElementById('foo');
console.log(elt.nodeName);

Notez que nodeName renvoie le nom de l'élément en majuscule et sans les crochets, ce qui signifie que si vous voulez vérifier si un élément est un <div> élément vous pouvez le faire comme suit:

elt.nodeName == "DIV"

Bien que cela ne vous donne pas les résultats escomptés:

elt.nodeName == "<div>"
247
pkaeding

Qu'en est-il de element.tagName ?

Voir aussi tagName docs sur MDN .

37
Brian Cline

Parfois, vous voulez element.constructor.name

document.createElement('div').constructor.name
// HTMLDivElement

document.createElement('a').constructor.name
// HTMLAnchorElement

document.createElement('foo').constructor.name
// HTMLUnknownElement
0
golopot