Internet ExplorerのDOM操作で下のように、styleタグやscriptタグにtextNodeを
appendChildしようとするとエラーになります。そういう時の対処法です。
var css=document.createElement('style'); css.setAttribute('type','text/css');var str=document.createTextNode('div.entryInfo{clear:both}'); css.appendChild(str);var head=document.getElementsByTagName('head'); head[0].appendChild(css);
IE(インターネットエクスプローラ)で、styleタグに書き込むには、次のようにやるようです。
var css=document.createElement('style'); css.setAttribute('type','text/css');css.styleSheet.cssText='div.entryInfo{clear:both}'var head=document.getElementsByTagName('head'); head[0].appendChild(css);
IE、その他のブラウザ両対応のコードはこうなります。
var css=document.createElement('style'); css.setAttribute('type','text/css'); var str='div.entryInfo{clear:both}'; if(css.styleSheet){ //IE css.styleSheet.cssText=str; }else{ //その他のブラウザ var text=document.createTextNode(str); css.appendChild(text); } var head=document.getElementsByTagName('head'); head[0].appendChild(css);
scriptタグの場合はこうやります。
var stag=document.createElement('script'); stag.setAttribute('type','text/javascript');stag.text='alert("hoge");';var head=document.getElementsByTagName('head'); head[0].appendChild(stag);