`
zhouyrt
  • 浏览: 1174181 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

各浏览器中innerHTML实现差异(2)

 
阅读更多

如下代码

 

<p id="tit"></p>
<script>
    var p = document.getElementById('tit');
    var div = document.createElement('div');
    p.appendChild(div);
    try {
        div.innerHTML = "76"
    } catch(e) {
        //IE<9 ERROR
        alert(e)
    }
</script>

 

 

执行顺序如下
1,获取页面上段落元素P
2,创建一个块级元素div
3,将div添加到段落P上(注:规范指出P不能包含块级元素)
4,给div的innerHTML赋值

 

结果:

IE6/7/8中抛异常。其它浏览器则不。

 

和第一篇一样,如果创建的是行内元素,IE6/7/8中则不报错。或者将2,3的顺序对调IE6/7/8也不报错。

 

这个问题是TX的 发现的。

 

相关:

各浏览器中innerHTML实现差异(1)

IE6/7/8/9中使用innerHTML清空元素,其子元素也被清空

分享到:
评论

相关推荐

    js跨浏览器是正对目前各浏览器标准不同

    不同的浏览器在实现DOM API时可能存在细微差异,例如`innerHTML`属性或`addEventListener`方法。统一使用DOM Level 2和3标准可以减少这种问题。 4. **事件处理**: 事件处理在不同浏览器间也存在差异,如事件冒泡...

    用html5 js实现点击一个按钮达到浏览器全屏效果

    - 全屏API在不同浏览器中的显示差异:具体介绍不同浏览器实现全屏API的差异。 - jQuery封装的全屏插件:简化全屏功能的实现。 - HTML5全屏API与网络钓鱼:介绍全屏API可能面临的安全风险。 通过上述知识点,开发者...

    动态创建样式表在各浏览器中的差异测试代码

    总之,动态创建样式表是前端开发中的重要技能,理解和掌握不同浏览器的实现差异有助于写出更健壮的代码。通过适当的技术检测和适配策略,我们可以确保我们的样式更改能在各种浏览器环境下正常工作。

    IE6/7/8中使用innerHTML清空元素,其子元素也被清空

    本文将深入探讨一个特定的问题,即在Internet Explorer 6、7和8(以下简称IE6/7/8)浏览器中使用`innerHTML`属性清空元素时,其子元素也会被一并清空的特性。这个现象在其他现代浏览器中并不常见,因此了解这一问题...

    浅析JavaScript中浏览器的兼容问题

    2. 如果不支持,则提供一个备选的解决方案,通常这是一个通用的解决方案,用在那些不支持该特性的浏览器中。 3. 通过编写polyfills或者shims,来为旧浏览器增加缺失的特性。 4. 使用工具或者插件,比如Babel,来转换...

    浏览器兼容

    虽然大多数基础语法在各浏览器间相似,但实现细节和API差异可能导致问题。例如,标准事件绑定使用`addEventListener`,而IE使用`attachEvent`。此外,事件处理中的`event`对象获取方式、事件冒泡机制、DOM操作(如`...

    IE、FF、Chrome浏览器中的JS差异介绍

    通过上述几个方面的介绍,我们可以看到,在不同浏览器中,JavaScript的表现和功能实现存在不少差异。随着浏览器的发展和标准化进程的加快,这些差异正在逐渐减少,但目前仍需开发者在编写代码时进行相应的兼容性处理...

    innerHTML动态添加html代码和脚本兼容多个浏览器

    通过编写像`set_innerHTML`这样的函数,可以有效地处理不同浏览器对innerHTML的解析差异,并确保JavaScript脚本在所有支持的浏览器中正确执行。同时,为了防止`document.write`破坏页面,我们可以重定义这个函数,使...

    跨浏览器开发经验总结

    - `element.outerText`、`element.innerText`、`element.outerHTML`、`element.innerHTML`:这些属性主要用于读取或修改元素的内容或结构,在IE中具有特殊的支持。 2. **Table操作** - `moveRow(iSource, ...

    判断是不是ie8支持所有浏览器

    2. **利用polyfill库**:对于某些高级特性,可以使用polyfill库来实现对旧版浏览器的支持。例如,使用`es5-shim`库来增加对ES5特性的支持。 3. **选择器兼容性**:在CSS中使用一些兼容性较好的选择器,避免使用过于...

    ajax实例,兼容各个主流浏览器

    这个实例是为了实现跨浏览器的Ajax局部刷新功能,确保在所有主流浏览器中都能正常工作。以下将详细介绍Ajax的工作原理以及如何实现跨浏览器兼容性。 ### 1. Ajax的工作原理 Ajax的核心是XMLHttpRequest对象,它...

    js在IE与firefox的差异集锦

    特别是在使用JavaScript编程语言时,IE和Firefox两个浏览器在很多方面的实现都存在差异。本文将详细介绍这些差异并提供相应的解决方法。 1. 关于innerText属性的支持: Firefox浏览器不支持innerText属性,而支持...

    innerHTML-outerHTML-innerTEXT.txt

    - 在某些情况下,浏览器可能会自动修正或调整通过 `innerHTML` 设置的 HTML,因此实际渲染的内容可能与预期有所不同。 ### 实际应用示例 假设我们有一个简单的 HTML 页面,包含一个按钮和一个 `div` 元素: ```...

    JavaScript万年历——兼容多浏览器

    由于JavaScript在不同的浏览器中可能存在差异,因此实现一个兼容多浏览器的万年历功能需要考虑浏览器的兼容性问题,确保在IE、Chrome、Firefox、Safari等主流浏览器上都能正常运行。 万年历的设计通常包括以下几个...

    ie和ff浏览器的兼容

    特别是Internet Explorer(简称IE)与Firefox(简称FF)这两种浏览器之间存在的差异,经常导致网页显示效果不一致的问题。本文将根据提供的部分文档内容,深入探讨IE与FF在处理某些元素时的不同之处,并提供相应的...

    IE中关于使用innerHTML加入HTML代码的问题

    当你尝试在IE中执行上述代码时,浏览器会报错,但错误信息可能不会明确指出问题出在innerHTML。为了解决这个问题,IE提供了innerText属性作为替代。innerText允许设置或获取元素的纯文本内容,而不是HTML。因此,...

    js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法

    然而,在特定的浏览器环境下,这种操作可能会引发问题,比如在IE8浏览器中,某些情况下会遇到设置innerHTML时提示“未知运行时错误”的情况。这个问题虽然在现代浏览器中不常见,但在一些老版本的浏览器或者某些特定...

    IE和Firefox差异参考大全

    了解并掌握这些差异是开发跨浏览器Web应用的关键,尤其是在需要兼容旧版本浏览器的项目中。开发者通常会使用条件注释、库如jQuery或工具如Autoprefixer来解决这些问题,以确保在不同的浏览器环境中都能正常运行。...

    JS实现兼容各种浏览器的获取选择文本的方法【测试可用】

    2. 在其他现代浏览器中,使用`window.getSelection().toString()`获取选中文本。 3. 对于`input`和`textarea`元素,可以通过`selectionStart`和`selectionEnd`属性获取选中范围。 4. 事件处理,如`onmouseup`,用于...

Global site tag (gtag.js) - Google Analytics