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。这是为什么?
答案 0 :(得分:3)
为什么不使用getScript?
答案 1 :(得分:0)
您可以改为使用常规.appendChild()
:
$('head')[0].appendChild(script);
这将是访问页面上的第一个<head>
元素,然后使用常规DOM子级追加。至于为什么你尝试的方法不起作用,我不确定......我必须考虑它,虽然我怀疑它与jQuery如何处理向页面添加script
元素有关
答案 2 :(得分:0)
值得研究的东西。在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>
你会看到jberyUI没有显示在firebug的HTML标签中,但当你看到Net标签时,它显示jQueryui.min文件已加载。 现在单击控制台选项卡并展开#jq项目。您可以看到所有可用的选项。没有src或source选项。 希望这有帮助。