我几乎可以完成以下工作,但是遇到了许多令人困惑的方法。期望在没有框架的情况下将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" });

10-04 15:25