• ベストアンサー

DOMで生成したタグにCSSが適用されない(IE)

DOMでタグを生成した場合、IEではそのタグにCSSが適用されないのですが 何かいい解決法はないでしょうか。ちなみに試したHTMLは下記の通りです。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>test</title> </head> <body> <script type="text/javascript"><!-- A = document.createElement("div"); A.setAttribute("id", "A"); A.setAttribute("style", "color:red;"); document.body.appendChild(A); document.getElementById("A").appendChild(document.createTextNode("test")); --></script> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

IEのバグです。(setAttributeの実装の手抜き) 詳しい原因・対処は http://nanto.asablo.jp/blog/2005/10/29/123294 こちらに詳しく載っています。

AXRRXA
質問者

お礼

問題が解決しました!ありがとうございました!

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

とりあえず <style> #A{color:red;} </style> しておくか、もしくは A.setAttribute("style", "color:red;"); を A.style.color="red"; にしてみてください

AXRRXA
質問者

お礼

別にスタイル指定しても解決するんですね。これは知りませんでした。 ありがとうございます。