2015-05-04 74 views
1

如何获取HTML元素的所有属性? 比如我有一个元素:使用javascript获取html元素的所有属性

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

,我希望看到所有的属性,可以用于此输入不仅属性已经分配(类型,等级,编号,名称),但所有可用/属性可以在此元素上使用的属性。

使用此方法,我只能看到指定的属性:

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

此主题回答此问题。 https://stackoverflow.com/questions/48339367/how-to-get-all-possible-valid-attributes-on-a-dom-element/48374988#48374988 –

回答

2
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); 
} 
+0

我想查看可用于该元素的所有可用属性/属性... – RulerNature

0

我认为你可以使用

var el = document.getElementById("myId"); 
var props = Object.keys(el); //will return an array of properties 

演示得到所有的枚举的属性:Fiddle

Object.Keys() - 对于older browsers使用polyfill

+0

我想看到所有可用的属性/属性,我可以使用该元素... – RulerNature

1

你可以做到这一点,

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

+0

这将返回我已有的并不是所有可用于该元素的属性 – RulerNature

0

尝试console.dir()

console.dir(document.getElementById('myId'));