如何在页面中放置调用自身的脚本

时间:2012-10-30 19:50:20

标签: javascript jquery html

当我尝试执行此代码时:

index.html:

<div id="mydiv">test</div>
<script type="text/javascript">
$('#mydiv').html('<script type="text/javascript" id="myscript" src="test.js"><\/script>');
</script>

test.js:

alert(document.getElementById('myscript').src);

我有这个错误:

document.getElementById("myscript") is null

我想解决它,知道"'<script type="text/javascript" id="myscript" src="test.js"></script>'"是通过ajax调用获得的,与其他内容混合,但我简化了示例的代码。

2 个答案:

答案 0 :(得分:1)

您应该使用document.CreateElementdocument.body.appendChild使您的脚本标记可用于getElementById。你可以查看question

在你的情况下可能是

var scriptTag = document.createElement('script');

scriptTag.src = 'test.js';

document.getElementByID("mydiv").appendChild(scriptTag);

答案 1 :(得分:0)

我认为必须先关闭标记才能在其内部进行查询。所以你的test.js脚本必须等待一瞬间,DOM-ready或window.onload。