Javascript可以';找不到脚本标记';身份证
我面临javascript document.getElementByID函数的问题。HTML文件是: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')为空”。 有谁能告诉我,如果标签是脚本标签本身,为
...
<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);
}