我需要一种方法来确定JavaScript中超文本标记语言元素的类型。它有ID,但元素本身可以是<div>
、<form>
字段、<fieldset>
等。我如何实现这一点?
发布于 2008-10-31 17:33:45
nodeName
是您要查找的属性。例如:
var elt = document.getElementById('foo');
console.log(elt.nodeName);
请注意,nodeName
返回的元素名称大写且不带尖括号,这意味着如果要检查元素是否为<div>
元素,可以执行以下操作:
elt.nodeName == "DIV"
虽然这不会给你提供预期的结果:
elt.nodeName == "<div>"
发布于 2008-10-31 17:32:13
发布于 2020-02-02 02:44:40
您可以通过instanceof
使用泛型代码检查
var e = document.getElementById('#my-element');
if (e instanceof HTMLInputElement) {} // <input>
elseif (e instanceof HTMLSelectElement) {} // <select>
elseif (e instanceof HTMLTextAreaElement) {} // <textarea>
elseif ( ... ) {} // any interface
有关接口的完整列表,请查看here。
https://stackoverflow.com/questions/254302
复制相似问题