Javascript Can';不要在头上附加脚本

Javascript Can';不要在头上附加脚本,javascript,jquery,greasemonkey,script-tag,Javascript,Jquery,Greasemonkey,Script Tag,返回null。这是为什么?为什么不使用?您可以使用常规的.appendChild()来代替: 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。这是为什么?

为什么不使用?

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

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'));


这将要做的是访问页面上的第一个
元素,然后使用常规的DOM子追加。至于为什么你尝试的方法不起作用,我不确定。。。我不得不考虑一下,尽管我怀疑这与jQuery如何处理向页面添加
script
元素有关。在Firebug打开的情况下运行此操作

$('head')[0].appendChild(script);

无标题文件
$(函数(){
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(脚本);
console.log($('jq'));
});
您将看到jqueryUI没有显示在firebug的HTML选项卡中,但当您查看Net选项卡时,它显示jqueryUI.min文件已加载。 现在单击console选项卡并展开#jq项。您可以看到所有可用的选项。没有src或source选项。
希望这有帮助。

那个评论没用。这个有用(至少在小提琴中):有用,但为什么它与$('head')有任何不同。附加?PS将其作为答案发布,我会接受;)
<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>