2015-05-04 109 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'));