不能在header中添加脚本

Can't append a script to head

本文关键字:添加 脚本 header 不能      更新时间:2023-09-26
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = 'http://www.mydomain.com/bleh.php';
script.id = 'rawr';
$('head').append(script);
alert($('#rawr').attr('src'));

返回null。为什么会这样?

为什么不使用getScript?

您可以使用常规的.appendChild():

$('head')[0].appendChild(script);
http://jsfiddle.net/PeaqH/

这将访问页面上的第一个<head>元素,然后使用常规的DOM子追加。至于你尝试的方法为什么不起作用,我不确定。我必须考虑一下,虽然我怀疑这与jQuery如何处理添加script元素到页面有关。

值得研究的东西。在Firebug打开的情况下运行。

<script src="jquery.js" id="jq"></script>
<title>Untitled Document</title>
</head>
<body>
<div id="container"></div>
<script type="text/javascript">
$(function(){
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js';
script.id = 'rawr';
$('head').append(script);
console.log($('#jq'));
});
</script>

你会看到jqueryUI没有显示在firebug的HTML选项卡中,但是当你查看Net选项卡时,它显示了jqueryUI。最小文件已加载。现在单击控制台选项卡并展开#jq item。您可以看到所有可用的选项。没有src或source选项。