Javascript可以';找不到脚本标记';身份证

Javascript可以';找不到脚本标记';身份证,javascript,html,dom,Javascript,Html,Dom,我面临javascript document.getElementByID函数的问题。HTML文件是: ... <script id="scriptID" type="text/javascript" src="http://external.script.com/file.js"> </script> ... 脚本失败,消息显示“document.getElementById('scriptID')为空”。 有谁能告诉我,如果标签是脚本标签本身,为

我面临javascript document.getElementByID函数的问题。HTML文件是:

...
<script 
   id="scriptID"
   type="text/javascript"
   src="http://external.script.com/file.js">
</script>
...
脚本失败,消息显示“document.getElementById('scriptID')为空”。 有谁能告诉我,如果标签是脚本标签本身,为什么它是空的

任何响应的Thx

编辑:
我不知道这是否相关,但页面是以一种更复杂的方式构建的。
有些产品有一页。当客户订购该产品时,AJAX会加载一个div,其中包含一些“感谢订购”,并包含脚本。然后执行脚本。

可能是当您试图获取脚本的src时,您的DOM还没有准备好

<script id="scriptID" type="text/javascript" src="http://external.script.com/file.js">
</script>

window.onload=function()
{
 alert( document.getElementById('scriptID').src);   
}

window.onload=function()
{
警报(document.getElementById('scriptID').src);
}

它的工作很好

您在哪里运行此脚本?您确定这是页面上唯一具有该ID的元素吗?因此。。。您是从在该标记中运行的脚本中引用脚本标记吗?嗯,可能是因为DOM没有被完全解析,特别是。。。该脚本标记,因为您正在其中执行脚本。此行为可能依赖于浏览器。让我们知道你正在使用的浏览器和版本。脚本是在页面中间的某个地方。我确信id是唯一的,我使用的是Firefox 25.0。实际上它根本没有得到元素——因为getElementById的结果是null@Jarda如果您使用ajax下载脚本,那么使用dom方法创建脚本ex:createElement(“脚本”)。
<script id="scriptID" type="text/javascript" src="http://external.script.com/file.js">
</script>

window.onload=function()
{
 alert( document.getElementById('scriptID').src);   
}