将javascript脚本附加到头部不起作用

时间:2015-06-02 10:21:41

标签: javascript jquery

我正在尝试在页面的头部附加一个带脚本的脚本标记,但是我附加了代码并且它不起作用。可能是因为页面已经在运行。

我怎么能有这样的工作?

$(document).ready(function () {
    $('a').on('click', function () {
        $('head').append('&ltscript&gtconsole.log("running")&lt/script&gt');
    });
});

http://jsfiddle.net/jtjmy5gy/6/

2 个答案:

答案 0 :(得分:1)

尝试

DEMO

$(document).ready(function () {
  $('a').on('click', function () {
     $('<script>').text('console.log("running")').appendTo('head');
  });
});

修改

使用以上示例调用函数:DEMO

$(document).ready(function () {
   $('a').on('click', function () {
     $('<script>').text('test()').appendTo('head');
   });
});

function test(){
  console.log("running")
}

修改。您还可以附加如下脚本标记:DEMO

$("head").append($("<script />", {
   text: 'test()',
}))

$("head").append($("<script />", {
   html: 'test()',
}))

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

答案 1 :(得分:0)

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

$.getScript("test.js", function(){
    alert("Running test.js");
});

资料来源:Rocket Hazmat

How to dynamically insert a <script> tag via jQuery after page load?