jquery appendTo删除javascript脚本标记

时间:2009-12-08 17:31:56

标签: jquery append

var testdiv = '<div id="hello"><p>hiii</p>
               <script type="text/javascript">some javascript functions</script>
               </div>';
$(testdiv).appendTo(document.body);

在运行上面的代码之后,添加的div缺少javascript,即内部的所有内容&lt; script type =“text / javascript”&gt;

这是appendTo的已知问题吗?

3 个答案:

答案 0 :(得分:2)

您可能需要删除<script>标记。 这有效:

var testdiv = '<div id="hello"><p>hiii</p><scr'+'ipt type="text/javascript">console.log("buu")</scr'+'ipt></div>';
$(testdiv).appendTo(document.body);

答案 1 :(得分:0)

如果您尝试包含一些远程脚本,使用$ .getScript()

可能会获得更多成功

此处有更多信息:http://docs.jquery.com/Ajax/jQuery.getScript

编辑:

也许this question有你想要的答案?

答案 2 :(得分:0)

var testdiv = '<div id="hello"><p>hiii</p><script type="text/javascript">alert(\'foo\')</script></div>';
$(testdiv).appendTo(document.body);

我用警告替换了“一些javascript”,它对我来说很好。 请注意,我必须转义我在字符串中使用的引号,这可能是它。

我同意jonscottclark关于getScript()的观点。确实有更好的方法来包含和执行其他脚本。