Javascript 处理动态HTML和Firefox问题
在Mac上使用最新版本的FireFox(40.0.3): 运行以下代码:Javascript 处理动态HTML和Firefox问题,javascript,jquery,html,firefox,Javascript,Jquery,Html,Firefox,在Mac上使用最新版本的FireFox(40.0.3): 运行以下代码: $(function() { var $sc = $('<script id="tempScript" type="text/template"/>'); $("body").append($sc); $("<div><h3>Hi</h3></div>").appendTo($sc); }); 实际结果: 结
$(function() {
var $sc = $('<script id="tempScript" type="text/template"/>');
$("body").append($sc);
$("<div><h3>Hi</h3></div>").appendTo($sc);
});
实际结果:
结果是“未定义”
预期结果:
它应该返回:“Hi”
这是一个非常严重的问题,影响了我们的许多web应用程序功能。基本上已经破坏了我们应用程序的很多页面
有解决办法吗?
我们必须使用Javascript来生成动态内容
更新:
我将脚本标记改为隐藏的DIV,Firefox开始响应。目前这是一个很好的解决方法,但我很惊讶为什么Firefox在使用脚本模板时不能正确处理这种情况。结果表明Firefox不能处理动态添加的脚本文本/模板标记,并且不能返回Javascript中的HTML内容(Chrome和Safari工作正常)
我将脚本标记改为隐藏的DIV,Firefox开始响应。目前这是一个很好的解决方法,但是我很惊讶为什么Firefox在使用脚本模板时不能正确处理这种情况。但是你的脚本标签是空的-它不能返回任何html。。另外,
。您需要在
中包含src属性或一些js内容it@neilsimp1jQuery解决了这个问题,这不是问题。我想您是在寻找$sc.append($($(“Hi”)代码>或$sc.append(“Hi”)代码>=>您正在将脚本标记(从正文中移动)附加到$(“Hi”)
,而该标记没有任何引用可用于取回脚本。编辑否,您已修复了问题的该部分。还有其他打字错误吗?
$("#tempScript").html()