2013-11-03 35 views
0

我现在面临的问题与JavaScript的document.getElementById功能。 HTML文件是:的Javascript无法找到脚本标签的ID

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

当加载页面时,脚本被成功列入,但是从该文件执行时的表情(加载之后automaticaly执行脚本):

... = document.getElementById('scriptID').src 

的脚本失败并显示消息“document.getElementById('scriptID')为空”。 任何人都可以告诉我,为什么它是空的,如果标签是脚本标签本身?

Thx任何回应。

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

+1

你在哪里运行此脚本? –

+1

你确定这是与页面上该ID的唯一** **元素? – Oded

+0

所以......你指的是脚本标签从在该标签运行该脚本内?嗯。也许DOM的问题没有被完全解析,具体...该脚本标签,因为你在它执行脚本。 – JAL

回答

1

可能是你的DOM还没有准备好,当你试图让脚本的SRC,

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

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

其workinfg精细SEE

+0

actualy它没有得到该元素在所有后的脚本运行.NET/BXT2R/ – Jarda

+0

@Jarda都能跟得上它的工作原理HTTP - – Shadow

+1

@Jarda如果您正在下载脚本使用Ajax,然后使用DOM方法来创建脚本,例如:的createElement(“脚本”)。 – Shadow