>  기사  >  웹 프론트엔드  >  IE_javascript 스킬에서 Element 생성 시 주의해야 할 문제

IE_javascript 스킬에서 Element 생성 시 주의해야 할 문제

WBOY
WBOY원래의
2016-05-16 18:23:121081검색

코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

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()을 직접 사용해 상위 페이지를 조정하는 등 발상을 바꾸는 것이 좋습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.