如何确定JavaScript中HTML元素的类型?

时间:2008-10-31 17:29:23

标签: javascript dom

我需要一种方法来确定JavaScript中HTML元素的类型。它有id,但元素本身可以是div,表单字段,字段集等。我怎样才能实现这个目标?

4 个答案:

答案 0 :(得分:233)

nodeName是您要查找的属性。例如:

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

请注意nodeName返回大写的元素名称而没有尖括号,这意味着如果要检查元素是否为<div>元素,可以按如下方式执行:

elt.nodeName == "DIV"

虽然这不会给你预期的结果:

elt.nodeName == "<div>"

答案 1 :(得分:36)

element.tagName怎么办?

另见tagName docs on MDN

答案 2 :(得分:12)

您可以通过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以获得接口的完整列表。

答案 3 :(得分:0)

有时您需要element.constructor.name

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

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

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