如何在页面加载后通过jQuery动态插入<script>标记?

如何在页面加载后通过jQuery动态插入<script>标记?

我在解决这个问题上遇到了问题。我首先尝试将脚本标记设置为字符串,然后使用jquery replaceWith()在页面加载后将它们添加到文档中:

var a = '<script type="text/javascript">some script here</script>';$('#someelement').replaceWith(a);

但是我在那个var上得到了字符串文字错误。然后我尝试编码字符串,如:

var a = '&left;script type="text/javascript"&gt;some script here&lt;\/script&gt;';

但发送它replaceWith()只是将该字符串输出到浏览器。

有人可以告诉我你如何<script>在页面加载后动态地将标签添加到浏览器中,理想情况下通过jQuery?


精慕HU
浏览 1653回答 3
3回答

牧羊人nacy

您可以将脚本放入单独的文件中,然后使用$.getScript它来加载和运行它。例:$.getScript("test.js",&nbsp;function(){ &nbsp;&nbsp;&nbsp;&nbsp;alert("Running&nbsp;test.js");});

慕工程0101907

以下是使用现代(2014)JQuery进行此操作的正确方法:$(function&nbsp;()&nbsp;{ &nbsp;&nbsp;$('<script>') &nbsp;&nbsp;&nbsp;&nbsp;.attr('type',&nbsp;'text/javascript') &nbsp;&nbsp;&nbsp;&nbsp;.text('some&nbsp;script&nbsp;here') &nbsp;&nbsp;&nbsp;&nbsp;.appendTo('head');})或者如果你真的想要替换你可以做的div:$(function&nbsp;()&nbsp;{ &nbsp;&nbsp;$('<script>') &nbsp;&nbsp;&nbsp;&nbsp;.attr('type',&nbsp;'text/javascript') &nbsp;&nbsp;&nbsp;&nbsp;.text('some&nbsp;script&nbsp;here') &nbsp;&nbsp;&nbsp;&nbsp;.replaceAll('#someelement');});
打开App,查看更多内容
随时随地看视频慕课网APP