使用 javascript 获取 html 元素的所有属性

get all attributes of an html element using javascript

如何获取 HTML 元素的所有属性? 例如我有一个元素:

<input type="text" class"cls1" id="myId" name="myName"/> 

并且我想查看所有可用于该输入的 attributes/properties,不仅是已经分配的属性(类型、class、id、名称),而且还包括所有可用的属性用于此元素。

用这个方法我只能看到分配的属性:|

var attr = document.getElementById("myId").attributes;
console.log(attr);

我认为您可以使用

获得所有可枚举的属性
var el = document.getElementById("myId");
var props = Object.keys(el); //will return an array of properties

演示:Fiddle

Object.Keys() - For older browsers use a polyfill

你可以做到,

var attr = document.getElementById("myId").attributes;
for (var key in attr) {
  if (typeof attr[key] != 'function')
    console.log(attr[key]);
}

var el = document.getElementById("myId");

var nodes=[], values=[];
for (var att, i = 0, atts = el.attributes, n = atts.length; i < n; i++){
    att = atts[i];
    nodes.push(att.nodeName);
    values.push(att.nodeValue);
    console.log(att.nodeName + " - " + att.nodeValue);
}

尝试console.dir()

console.dir(document.getElementById('myId'));
var attr = document.getElementById("myId").attributes;
for (var key in attr) {
    var element = attr[key];
    if (typeof element === "object") {
        console.log(element.name);
        console.log(element.value);
    }
}