使用动态HTML和Firefox问题

时间:2015-09-22 16:19:05

标签: javascript jquery html5 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);
});

然后在控制台中运行:

$("#tempScript").html()

实际结果: 结果是“未定义”

预期结果: 它应该已经返回:"<div><h3>Hi</h3></div>"

这是一个非常严重的问题,影响了我们很多Web应用程序的功能。基本上打破了我们应用程序的很多页面。

有解决方法吗? 我们必须使用Javascript来生成动态内容。

更新: 我将脚本标记更改为隐藏的DIV,Firefox开始响应。暂时这是一个很好的解决方法,但我很惊讶Firefox在使用脚本模板时无法正确处理这种情况。

1 个答案:

答案 0 :(得分:0)

原来Firefox不处理动态添加的脚本文本/模板标记,并且无法在Javascript中返回其HTML内容(Chrome和Safari工作正常)。

我将脚本标记更改为隐藏的DIV,Firefox开始响应。暂时这是一个很好的解决方法,但我很惊讶Firefox在使用脚本模板时无法正确处理这种情况。