我几乎可以完成以下工作,但是遇到了许多令人困惑的方法。期望在没有框架的情况下将attr {}中的key:value用于setAttribute()方法属性。
请提供一个苗条的解决方案:
testDiv = document.getElementById("testDiv");
attr = {
align:"center",
title:"The Test Div"
};
//Possible converting JSON to String, the use in setAttribute?
for(var x in attr) alert(x + " , " + attr[ x ] );
testDiv.setAttribute( x , attr[ x ]);
最佳答案
您那里没有JSON,有一个对象文字。无论如何,如果我正确理解了您想要为一个特定元素设置所有指定属性的信息?如果您希望某些东西可重复使用,则函数中的循环应该很容易做到:
function setMultipleAttributes(el, attributes) {
for (var attr in attributes)
el.setAttribute(attr, attributes[attr]);
}
var testDiv = document.getElementById("testDiv");
setMultipleAttributes(testDiv, { align : "center", title : "The Test Div" });