chrome&safari会将内容作为字符串插入
JQuery insertAfter in chrome & safari causes the content to be inserted as String
我使用jQuery将行动态插入表中。行本身是一个(文本)模板,它将替换内部的一些内容,然后"casted"到jQueryDOM节点。虽然这在Firefox和IE中运行良好:
jQuery(jQuery.parseHTML(node)).insertAfter("#imgTable tr:last()");
Chrome和Safari不会插入节点,而是将HTML作为字符串插入。通过这种方式,我不会获得一行,bug一个坚实的html源代码块。。。这是一场用户体验灾难:)
非常简单的复制:http://jsfiddle.net/288sp1qb/4/
我已经发现错误的来源是我将模板存储在<noscript>
标记中。我必须这样做,因为我所知道的所有其他标签都会被解释,所以大多数浏览器要么删除<tr>
和<td>
标签,要么修改内容。
将模板存储在变量中也不是一个选项,因为模板已经包含一些后端生成的数据。因此,实际的问题是:如何让webkit浏览器在插入数据后对其进行解释?或者:否则我应该如何存储模板?
HTML代码-
<table id="table">
<tr>
<th>bsp.</th>
</tr>
</table>
<noscript id="tpl" style="display:none">
<tr><td>%VAR%</td></tr>
</noscript>
jQuery代码-
var node = $("#tpl").text();
node = node.replace("%VAR%","test");
$($.parseHTML(node)).insertAfter("#table tr:last()");
JSFiddle-http://jsfiddle.net/Ashish_developer/s35ppva8/
此解决方案在所有浏览器中都运行良好。
相关文章:
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 将JSON插入MongoDB中,自动转换字符串中的日期
- javascript时间戳插入字符串变量
- 如何使用Jscript | JQuery在textArea中获取插入的|删除的字符串的索引和长度
- 在HTML字符串的某个段落后插入HTML
- 如何在javasciipt中添加单引号到字符串,该字符串将在nodeJS中作为mysql插入命令执行
- 如何在 Javascript 中将字符串数组列表插入到表行中
- 在光标位置的文本区域中插入一个字符串,并进行一些更改
- 如果缺少字符串,如何插入括号和值
- 将HTML作为字符串插入,不使用JQuery
- 使用 JS 将字符串插入到 SQLite,没有语法错误
- 在WP中使用PHP将javascript字符串插入HTML
- chrome&safari会将内容作为字符串插入
- 将字符串插入到另一个字符串中的随机位置
- c#逐字字符串插入到acrobatjavascript
- 将一组属性作为字符串插入到标签中
- 日期()javascript字符串插入到DB显示在一个漂亮的方式
- 将包含脚本的动态字符串插入HTML并动态执行它
- dom事件-如何用JavaScript编程将字符串插入文本字段
- 如何使用javascript将XML字符串插入到XML节点