2013-11-03 5 views
0

자바 스크립트 document.getElementByID 기능에 문제가 있습니다.자바 스크립트 태그의 id를 찾을 수 없습니다

페이지가로드
... 
<script 
    id="scriptID" 
    type="text/javascript" 
    src="http://external.script.com/file.js"> 
</script> 
... 

, 스크립트가 성공적으로 포함되어 있지만 해당 파일에서 식을 실행할 때 (스크립트가를로드 한 후보기 자동 실행) : HTML 파일이

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

"document.getElementById ('scriptID')가 null이라는 메시지와 함께 스크립트가 실패합니다. 태그가 스크립트 태그 자체 인 경우 아무에게도 왜 말해 줄 수 있습니까?

응답에 대해 Thx.

편집 :
관련성이 있는지는 잘 모르겠지만 페이지가 좀 더 복잡한 방식으로 작성되었습니다. 일부 상품의 페이지가 있습니다. 고객이 해당 제품을 주문하면 AJAX에서 "주문 주셔서 감사합니다"라고 적힌 div가 있으며 스크립트가 포함되어 있습니다. 그런 다음 스크립트가 실행됩니다.

+1

잘 workinfg, 당신은 스크립트의 SRC를 얻으려고 할 때 당신의 DOM이 준비되지 수 있음? –

+1

페이지에서 해당 ID를 가진 ** 유일한 ** 요소입니까? – Oded

+0

그럼 ... 그 태그에서 실행중인 스크립트 내에서 스크립트 태그를 언급하고 있습니까? 흠. 아마도 DOM의 문제는 완전히 파싱되지 않았을 것입니다. 구체적으로 말하면 스크립트 태그입니다. 스크립트 태그를 사용하고 있기 때문입니다. – JAL

답변

1

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

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

그 어디이 스크립트를 실행하는 SEE

+0

실제로 getElementById의 결과가 null이기 때문에 요소를 전혀 얻지 못합니다. – Jarda

+0

@Jarda Nope 그것은 http : // jsfiddle에서 작동합니다. .net/BXT2R/ – Shadow

+1

@Jarda ajax를 사용하여 스크립트를 다운로드하는 경우 dom 메소드를 사용하여 ex : createElement ('script') 스크립트를 작성하십시오. – Shadow

관련 문제