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?
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>"
Qu'en est-il de element.tagName
?
Voir aussi tagName
docs sur MDN .
Parfois, vous voulez element.constructor.name
document.createElement('div').constructor.name
// HTMLDivElement
document.createElement('a').constructor.name
// HTMLAnchorElement
document.createElement('foo').constructor.name
// HTMLUnknownElement