你知道为什么下面这段代码没有将脚本元素添加到DOM中吗?
var code = "<script></script>";
$("#someElement").append(code);
你知道为什么下面这段代码没有将脚本元素添加到DOM中吗?
var code = "<script></script>";
$("#someElement").append(code);
当前回答
你的脚本正在执行,你只是不能使用文档。从它写。使用警报来测试它,避免使用document.write。js文件中的语句与document。Write将不执行,函数的其余部分将执行。
其他回答
我曾见过一些浏览器在你直接执行某些更改时不尊重它们的问题(我指的是从文本创建HTML,就像你尝试使用script标记一样),但当你使用内置命令执行这些更改时,事情会变得更好。试试这个:
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = url;
$("#someElement").append( script );
来自:JSON for jQuery
<script>
...
...jQuery("<script></script>")...
...
</script>
字符串字面值中的</script>终止整个脚本,以避免使用“</scr”+“ipt>”代替。
将脚本追加到正文:
$(document).ready(function() {
$("<script>", { src : "bootstrap.min.js", type : "text/javascript" }).appendTo("body");
});
如此:
$('body').append($("<script>alert('Hi!');<\/script>")[0]);
jQuery似乎在脚本上做了一些聪明的事情,所以你需要附加html元素而不是jQuery对象。
可以使用jQuery函数getScript动态加载JavaScript文件
$.getScript('http://www.whatever.com/shareprice/shareprice.js', function() { Display.sharePrice(); });
现在外部脚本将被调用,如果不能加载它,它将优雅地降级。