コードは次のとおりです:
var $alertPanel = $( document.createElement ("div") );
$alertPanel.css("width","120px").css("height","50px").text("Hello CssRain!");
$(' body',parent.document).append($alertPanel);
彼の指示に従って、私もデモを作成したところ、これが実際に当てはまることがわかりました。
情報を調べましたが、同様の問題は見つかりませんでした。
その後、ネイティブ DOM メソッドを使用して一度書いたのですが、どちらも同じように機能しないことがわかりました。
var div = document.createElement("div ");
div.style.width = "120px";
div.style.height = "50px";
div.style.border = "solid 1px #000000";
div. innerHTML = " Hello CssRain!";
parent.document.body.appendChild(div);
つまり、appendChild にはparent.document が必要なので、parent.document も必要なのではないかと思いました。作成時にcreateElement?
コードを次のように変更します:
var div =parent.document.createElement("div");
div.style.width = "120px";
div.style.border = "solid 1px # 000000";
div.innerHTML = "Hello CssRain!";
parent.document.body.appendChild(div);
これは成功しました、IE6 と IE7使用できます。
例を見てください:
デモのアドレス:
http://demo.jb51.net/js/IE-createElement/page1.htm
概要: IE6 または IE7 で親ページ要素を作成する場合は、作成した要素を親ページに所属させる必要があります。
var dummy =parent.document.createElement( "div" );
var t =parent.document.createElement("table");
Firefox、IE8 では、あるドキュメントを別のドキュメントに追加できます。文書要素。
Firefox と IE8 では、parent.document または document を使用できます。
さらに、Google Chrome は非常に奇妙で厄介です。 Googleブラウザに対応させたい場合は、parent.function name()を直接使って親ページを調整するなど、考え方を変えることをおすすめします。