jQuery、html5、append()/appendTo() 和 IE

2023-12-22

如何复制:

  1. 创建一个 html5 页面。

  2. 确保添加了来自 remysharp.com/2009/01/07/html5-enabling-script/ 的脚本,以便 IE 能够注意到这些标签。

  3. 创建硬编码<section id='anything'></section> tag.

  4. 使用 jQuery 1.3.2,附加另一个部分标签:$('#anything').append('<section id="whatever"></section>');到目前为止,一切都适用于所有浏览器。

  5. 重复上一步。$('#whatever').append('<section id="fail"></section>');这就是IE6/7失败的地方。 Firefox/Safari 将继续工作。

Error

Thoughts

  • IE6/7 可能无法处理 HTML5 部分标签。我这样说是因为当我将步骤 4 更改为<section> to <div>,IE6/7将开始工作。

  • 如果我使用document.createElement()并创建我的新元素,它可以工作,但看起来像 jQuery 的append()html5 元素有问题。


该错误存在于 IE 的 innerHTML 实现中 - 由于某种原因,它不喜欢通过 innerHTML 插入“未知”元素 - 而 DOM 脚本则没问题。

jQuery 使用创建一个控股 div,然后通过 innerHTML 放入您想要附加的标记。 IE 现在将未知元素视为两个新的损坏元素,即<article>content</article>被视为ARTICLE, #text, /ARTICLE,由innerHTML borking引起。

下面是一个例子,在 IE 中检查一下,你会发现 innerHTML 插入方法错误地报告了在 div 中插入了 3 个节点:http://jsbin.com/olizu http://jsbin.com/olizu

没有IE浏览器的截图:http://leftlogic.litmusapp.com/pub/2c3ea3e http://leftlogic.litmusapp.com/pub/2c3ea3e

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery、html5、append()/appendTo() 和 IE 的相关文章

随机推荐

  • fortran 中的过程 nopass 与普通函数

    因此 在其他语言中 静态方法可以访问静态成员 并且它们的可见性受到类范围的限制 在 Fortran 中 没有静态成员 如果我错了 请纠正我 并且方法名称是全局可访问的 因此我什至不能在不同的类中拥有两个同名的静态方法 我认为 nopass
  • CSS 过渡不适用于 max-height: fit-content

    我正在尝试使用 CSS 为一些可扩展面板设置动画 如下所示 panel transition max height 0 1s ease in out flex 90 max height 26px expanded max height f
  • 网格::右对齐网格项目

    通过使用右侧按钮的网格定位 有人能指出我正确的方向吗 container width 500px border 1px solid red grid display grid grid gap 5px grid auto flow colu
  • 在Python中从键盘读取原始输入

    我正在尝试在 python 中获取键盘的原始输入 我有一个带可编程按键的罗技游戏键盘 但罗技不提供适用于 Linux 的驱动程序 所以我想我可以 尝试 为此编写自己的驱动程序 认为解决方案可能是这样的 with open dev keybo
  • 从源代码访问 Visual Studio 宏?

    Visual Studio 有类似的宏 TargetDirectory OutputPath etc 在我的源代码中 我想指定一个相对路径 用于从比该文件低几级的文件夹中加载文件 TargetDirectory 目前我正在这样做 mLaye
  • 如何在命令行中使用 Emacs 启动不同模式?

    有没有办法使用命令行启动不同的 emacs 模式 例如 是否可以按如下方式运行 emacs emacs org mode to start orgmode emacs python mode to start python mode 此后我
  • Hibernate - 为什么使用多对一来表示一对一?

    我见过人们使用多对一映射来表示一对一关系 我还在 Gavin King 的书和文章中读到过这一点 例如 如果一位客户只能有一个送货地址 并且一个送货地址只能属于一位客户 则映射如下
  • App Store - 帮助回答“缺少合规性”(使用 Expo + Firebase)

    我正在将我的应用程序发布到 App Store 但我对 缺少合规性 步骤有疑问 以下是有关该应用程序的一些信息 I used 世博会 托管工作流程 https docs expo io introduction managed vs bar
  • 在php mysql中插入多个值

    我这里有一个用于更新 php mysql 中的多个值的示例代码 我想知道如何插入多个值
  • 企业代理背后的 Apache

    我正在开发一个 php 应用程序 我正在使用 wamp 并且我在公司代理后面 我在用着cntlm http cntlm sourceforge net 进行身份验证NTLM https en wikipedia org wiki NT LA
  • 如何使用 Diesel 和 SQLite 获取新创建值的 id?

    柴油机的SqliteBackend不执行SupportsReturningClause的特质 所以get result方法不能用于检索新创建的值 还有其他方法可以找出插入行的 id 吗 Python 有一个解决方案 https stacko
  • 如何将 lambda 函数读取为字符串?

    我想在创建它之后读取我作为字符串创建的 lambda 函数 例如 func lambda num1 num2 num1 num2 我想将 func 读为 lambda num1 num2 num1 num2 有没有办法实现这一点 甚至读取
  • C++ iomanip 对齐

    我正在尝试调整我的输出 但由于某种原因我无法让它对齐 我多么想要它 这真的很令人沮丧 标题不会正确对齐 我不知道我是否正确使用 setw include
  • HttpContext.Current 调用背后有多少计算量?

    是不是很贵 我正在开发一个直接渲染到 Response Output 的 HtmlHelper 以节省不必要的字符串创建 我需要在以下选项之间进行选择 and 并从 HttpContext Current Response 获取 textW
  • python GIL 的多线程示例

    我读过很多关于在编写多线程代码时 python GIL 业务有多么 糟糕 的文章 但我从未见过一个例子 有人可以给我一个基本的例子来说明 GIL 在使用线程时何时会导致问题吗 Thanks 多线程的主要原因之一是程序可以利用多个 CPU 和
  • Selenium webdriver python 无法上传文件 - send_keys 抛出 ElementNotInteractable

    所以我尝试使用 selenium webbrowser send keys 上传文件 但它不起作用 请帮忙 from selenium import webdriver import time driver webdriver Chrome
  • 使用 Python Selenium 保存网页

    我正在使用 Selenium Webdriver for Python 2 7 启动浏览器 browser webdriver Firefox 转到某个网址 browser get http www google com 此时 如何向浏览器
  • 如何在 zsh 中正确安装新的补全?

    整个问题已讨论完毕here https github com DannyBen alf issues 39 and here https github com nvm sh nvm issues 2489 由于参与这些讨论的人都没有 100
  • wxHaskell标签无法显示全文

    我正在 Windows XP 上使用 Hello World 测试 wxHaskell http www haskell org haskellwiki WxHaskell Quick start http www haskell org
  • jQuery、html5、append()/appendTo() 和 IE

    如何复制 创建一个 html5 页面 确保添加了来自 remysharp com 2009 01 07 html5 enabling script 的脚本 以便 IE 能够注意到这些标签 创建硬编码 section section tag