最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

IE中createElement需要注意的一个问题_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 20:54:10
文档

IE中createElement需要注意的一个问题_javascript技巧

IE中createElement需要注意的一个问题_javascript技巧:代码如下: 代码如下: var $alertPanel = $( document.createElement(div) ); $alertPanel.css(width,120px).css(height,50px).text(Hello CssRain!); $('body',parent.document).appe
推荐度:
导读IE中createElement需要注意的一个问题_javascript技巧:代码如下: 代码如下: var $alertPanel = $( document.createElement(div) ); $alertPanel.css(width,120px).css(height,50px).text(Hello CssRain!); $('body',parent.document).appe


代码如下:
代码如下:
var $alertPanel = $( document.createElement("div") );
$alertPanel.css("width","120px").css("height","50px").text("Hello CssRain!");
$('body',parent.document).append($alertPanel);

顺着他的意思,我也写了个Demo,发现确实是这样。
翻了翻资料,也没看到类似的问题。
然后使用原生的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.height = "50px";
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浏览器非常怪异,很乱。如果要兼容google浏览器,那么建议换种思路吧,比如直接用 parent.函数名() 调父页面的方法。

文档

IE中createElement需要注意的一个问题_javascript技巧

IE中createElement需要注意的一个问题_javascript技巧:代码如下: 代码如下: var $alertPanel = $( document.createElement(div) ); $alertPanel.css(width,120px).css(height,50px).text(Hello CssRain!); $('body',parent.document).appe
推荐度:
标签: 一个 注意 IE
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top