【问题标题】:Can I create script tag by jQuery?我可以通过 jQuery 创建脚本标签吗?
【发布时间】:2009-07-29 11:45:03
【问题描述】:

我想用jQuery创建一个脚本标签。

我使用以下代码:

$("<body>").append("<script></script>");

它不起作用。 你会做什么来实现它?

【问题讨论】:

  • 我只是感兴趣:你为什么要这样做?您已经在运行 JavaScript 代码,为什么还需要另一个代码块?
  • 我想在加载页面后加载另一个 javascript 文件。

标签: javascript jquery


【解决方案1】:

你应该这样做

var script=document.createElement('script');
script.type='text/javascript';
script.src=url;

$("body").append(script);

【讨论】:

  • 请问您在使用 jQuery 时为什么不使用基于 jQuery 的解决方案? getScript 会起作用,你应该试试。大声笑
【解决方案2】:

从 url 加载:

$("body").append($("<script />", {
  src: url
}))

从现有源代码加载:

$("body").append($("<script />", {
  html: code
}))

【讨论】:

    【解决方案3】:

    这对 8 年后来到这里的人有帮助

    $('<script>alert("hi");</' + 'script>').appendTo(body);
    

    您不能执行$('&lt;script&gt;&lt;/script&gt;') 的唯一原因是该字符串在javascript 中是不允许的,因为DOM 层无法解析什么是js 和什么是html。

    【讨论】:

      【解决方案4】:

      错误在选择器中:

      $("body").append("<script>alert('hello world');<\/script>");
      

      请注意,您必须转义附加字符串中的不允许字符。

      【讨论】:

        【解决方案5】:

        你为什么不使用jQuery.getScript(url,[callback])

        【讨论】:

        • 我想加载另一个 javascript,该 javascript 在另一个域中。
        • 这应该是评论而不是答案,或者至少应该写成答案而不是问题。尚不清楚getScript() 是否可以通过创建脚本标签完成所有可能的事情。如果是的话,如果它真的这么说,答案会好得多。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-01
        • 2019-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多