首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在页面加载后通过jQuery动态插入<script>标签?

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

Stack Overflow用户
提问于 2010-10-05 02:02:27
回答 7查看 250.4K关注 0票数 110

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

代码语言:javascript
复制
var a = '<script type="text/javascript">some script here</script>';
$('#someelement').replaceWith(a);

但是我在这个变量上得到了字符串文字错误。然后我尝试对字符串进行编码,如下所示:

代码语言:javascript
复制
var a = '&left;script type="text/javascript"&gt;some script here&lt;\/script&gt;';

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

有没有人可以告诉我,在页面加载后,最好是通过jQuery,你将如何在浏览器中动态添加一个<script>标签?

EN

回答 7

Stack Overflow用户

发布于 2010-10-05 02:05:27

您可以将脚本放入一个单独的文件中,然后使用$.getScript加载并运行它。

示例:

代码语言:javascript
复制
$.getScript("test.js", function(){
    alert("Running test.js");
});
票数 107
EN

Stack Overflow用户

发布于 2010-10-05 02:23:15

尝试以下操作:

代码语言:javascript
复制
<script type="text/javascript">
// Use any event to append the code
$(document).ready(function() 
{
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.src = "http://scriptlocation/das.js";
    // Use any selector
    $("head").append(s);
});

http://api.jquery.com/append

票数 68
EN

Stack Overflow用户

发布于 2014-11-24 05:43:53

以下是使用现代(2014) JQuery的正确方法:

代码语言:javascript
复制
$(function () {
  $('<script>')
    .attr('type', 'text/javascript')
    .text('some script here')
    .appendTo('head');
})

或者,如果你真的想替换一个div,你可以这样做:

代码语言:javascript
复制
$(function () {
  $('<script>')
    .attr('type', 'text/javascript')
    .text('some script here')
    .replaceAll('#someelement');
});
票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3857874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档