我使用jQuery的.html()
方法遇到了一些性能问题,因为它非常慢。所以我搜索了替代品,我发现了一些:
所以我现在用建议的方法替换.html()
。但现在我有另一个问题:
要添加的Html内的Javascript未被执行。
我写了一个简单的小提示来展示正在发生的事情:
任何人都可以建议我如何解决这个问题,因为我需要执行javascript。
答案 0 :(得分:1)
您可能需要eval()
脚本:
var container = document.getElementById("container"),
content = document.getElementById("content");
$("#button2").on("click", function(){
container.innerHTML = content.innerHTML;
var scripts = container.getElementsByTagName('script');
for(var i=0, l=scripts.length; i<l; i++) eval(scripts[i].innerText);
});
答案 1 :(得分:0)
对我来说,第一个按钮会触发脚本,第二个按钮不会触发。
这是因为.innerHTML只引用元素中的文本,而不是scipts或其他标记。