执行javascript代码为html

时间:2013-09-20 09:56:55

标签: jquery

我想在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代码未运行。

如何运行代码?

1 个答案:

答案 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,您可以在其中找到有关调试此类动态脚本的说明等。