javascript - IE 11 的模板标签 polyfill - 不适用于表 tr 和 td

标签 javascript html templates polyfills html5-template

我使用 polyfill js,它允许为不支持它的浏览器处理标签。

jsfiddle 上的 polyfill 源代码

来源question

但我注意到在 IE 11 中,此 polyfill 无法与包含 <tr> 的模板一起使用和 <td>标签

我在 jsfiddle 上的样本

问题是当我们尝试从模板标签节点获取子节点时

elPlate.childNodes

它返回除 <tr> 以外的所有内容和 <td> children 好像里面没有这样的标签<template> .

我错过了什么吗?此问题有任何解决方法吗?

P.S 由于缺乏声誉,我无法对源问题添加评论。对此感到抱歉。

最佳答案

发生这种情况是因为 <tr>必须在 <table> 内为了成为有效的 HTML。在你的<template> , 你指定了一个松散的 <tr>没有 <table> parent 。 IE 将此视为错误并将其从 DOM 中删除。因此,您的模板的 documentFragment不包含 <tr><td> .

不幸的事实是:IE 还没有为 HTML5 模板标签做好准备。微软可能需要很长时间才能实现它,而且现有的 IE 浏览器版本真的已经过时了。只有这样,我们才能可靠地开始使用 HTML5 模板标签。

解决方法是:不要使用 <template> ;使用 <script type="template"> 探索模板解决方案反而。我相信他们应该工作得很好。一些流行的:

关于javascript - IE 11 的模板标签 polyfill - 不适用于表 tr 和 td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26384954/

相关文章:

javascript - 如何在 ES6/ES2015 中编写 Mongoose 模型

javascript - HTML 按钮的作用类似于从键盘上按下的按键,并且在特定对象或整个网站上起作用

html - 如何设计具有透明边框和背景间距的表格

c++ - 为什么编译器在下面的例子中没有选择我的函数模板重载?

c++ - 从模板化函数返回字符串时,bad_any_cast异常

javascript - NodeJS - CORS 中间件 `origin` 未定义

javascript - Adobe DTM 中的过滤器链接跟踪问题

javascript - jquery 选择器元素 id 中的小数位

c# - 固定标题 GridView ASP.NET

c++ - 未在范围内声明 - priority_queue C++ 的友元比较器类