我想在jquery html方法中执行jquery脚本。 像
$(body).html("<div id='mydiv'></div><script>$('#mydiv').fadeIn();</script>");
或
$(body).append("<div id='mydiv'></div><script>$('#mydiv').fadeIn();</script>");
div已插入,但javascript代码未运行。
如何运行代码?
答案 0 :(得分:2)
你应该尝试这样的事情:
$(body).append("<div id='mydiv'></div>");
$('#mydiv').fadeIn();
执行第一行后,DOM中会出现mydiv
,因此您可以直接从当前脚本访问它。
<小时/> 修改(评论后)
如果你想使用jQuery向你的DOM添加脚本,你应该以一些棘手的方式来做:
$("<script>$('#mydiv').fadeIn();</" + "script>").appendTo(document.body);
或
$("\x3Cscript>$('#mydiv').fadeIn();\x3C/script>").appendTo(document.body);
如果没有转义或中断</script>
标记,它会终止整个脚本。
如果您的代码存在更多问题,请参阅下一个答案https://stackoverflow.com/a/3603496/1430055,您可以在其中找到有关调试此类动态脚本的说明等。