2013-06-25 6 views
1

페이지의 onLoad 이벤트에서 호출되는 코드 줄이 있는데 제대로 작동합니다. onload 이벤트 내에서 다른 함수가 호출되고 동일한 코드 행을 시도하면 null이 반환됩니다.document.getElementById가 때때로 null을 반환합니다.

코드 그대로

riskInStateInputTypeElement = document.getElementById("riskInStateInputType"); 

는에서 getElementById 이전에 올바른 일을 반환 한 후 null을 반환 시작하는 경우가 있습니까?

작동하는 줄과 작동하지 않는 줄은 모두 동일한 호출 스택에 있으며 별도의 이벤트 나 스레드는 아닙니다. 문서 readyStatus는 '완료'두 시간, 그래서 그 페이지의 문제가 완전히로드되지 생각하지 않습니다. 내가 볼 곳이 어디 있니?

+0

ㅎㅎ. 문제는 요소가 포함 된 의 일부 텍스트를 변경하고 새로운 .innerText를 설정하면서 해당 요소를 설명하는 내부 HTML을 덮어 썼다는 것입니다. 그래서 실제로 프로그램 적으로 요소를 삭제하고있었습니다! – ColdCode2013

답변

0

해당 ID를 가진 요소를 참조하는지 확인 했습니까? <div></div> (또는 해당 ID가 무엇이든간에) id="riskInStateInputType" 철자가 틀린 것일 수 있습니다.

두 번째 호출 전에 해당 요소 내의 콘텐츠를 삭제 하시겠습니까?

+0

그것은 요소를 올바르게 반환하기 때문에 철자 문제는 아닙니다. – ColdCode2013

+0

나는 그 요소 내에서 실제로 내용을 삭제하고 있었다! 엘리먼트를 삭제한다는 의미라고 생각했는데. 네, 고마워요. – ColdCode2013

관련 문제