私はほぼ次のような作業をしていますが、多くの混乱したアプローチを行っています。望みは、キーを使用しています:setAttribute()メソッドのプロパティのattr {}の値です。フレームワークはありません。setAttribute()へのJSON
スリムなソリューションを貸してください:あなたはそこにJSONを持っていない
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 ]);
どうしたのですか? 'for(var x in attr)testDiv.setAttribute(x、attr [x]);'はうまく動作するはずです。もちろん、文字列以外の属性については、IEのsetAttribute自体に問題があります。代わりにプロパティを使用することを検討することをお勧めします。これはまだ 'for(var x in attr)testDiv [x] = attr [x];だけです。 – bobince
正確に何を達成しようとしていますか?属性をHTMLノードにマップするだけであれば、メソッドは正常に動作します。ただし、forループの中でブロックの周りに中カッコを入れる必要があります。そうしないと、ループ内の2番目のステートメントは実行されません。 'for(var x in attr){alert(x +"、 "+ attr [x]); testDiv.setAttribute(x、attr [x]); } '。 –
スタイルのIE回避策を見つけました: http://www.peterbe.com/plog/setAttribute-style-IE – Wasabi