코드는 다음과 같습니다.
var $alertPanel = $( document.createElement ("div") );
$alertPanel.css("width","120px").css("height","50px").text("안녕하세요 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 = " 안녕하세요 CssRain!";
parent.document.body.appendChild(div);
appendChild에는 parent.document가 필요하므로 parent.document도 필요하다고 생각했습니다. createElement를 생성할 때?
그러므로 코드를 다음과 같이 변경하세요.
var div = parent.document.createElement("div");
div.style.width = "120px";
div.style.height = "50px"; "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 크롬은 매우 이상하고 지저분합니다. 구글 브라우저와 호환되길 원한다면 parent.function name()을 직접 사용해 상위 페이지를 조정하는 등 발상을 바꾸는 것이 좋습니다.