当我尝试执行此代码时:
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调用获得的,与其他内容混合,但我简化了示例的代码。
答案 0 :(得分:1)
您应该使用document.CreateElement
和document.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。