ホームページ  >  記事  >  ウェブフロントエンド  >  IE_javascriptスキルで要素作成時に注意すべき問題

IE_javascriptスキルで要素作成時に注意すべき問題

WBOY
WBOYオリジナル
2016-05-16 18:23:121046ブラウズ

コードは次のとおりです:

コードをコピー コードは次のとおりです:

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()を直接使って親ページを調整するなど、考え方を変えることをおすすめします。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。