我正在尝试在页面的头部附加一个带脚本的脚本标记,但是我附加了代码并且它不起作用。可能是因为页面已经在运行。
我怎么能有这样的工作?
$(document).ready(function () {
$('a').on('click', function () {
$('head').append('<script>console.log("running")</script>');
});
});
答案 0 :(得分:1)
尝试
$(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?