[자바스크립트] document.all.id이름을 못찾는 이유는?

sadrove의 이미지

자바스크립트에 아래와 같은 코드가 있습니다.
document.all.noticepop.style.visibility = "visible";

같은 문서의 html에는 다음과 같은 코드가 있습니다.

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div style="position:relative;top:0;left:0;">
	<div id="noticepop" style="position:absolute;top:200;left:200;visibility:hidden;">  ---이하생략--

그런데 이상하게 계속 document.all.noticepop.style 은 null이거나 개체가 아니라고 나옵니다.
지금까지 div태그를 잘 써오다가 이상하게 이번엔 이러네요...
어느 부분이 잘못된 걸까요?..
아니면 어떤 경우에 이런 상황이 발생할까요..?..
아무리 눈을 크게 뜨고봐도.. 아무것도 아닌것 같은데..^^...
도움 부탁드립니다..

송효진의 이미지

이렇게 하세요.
어렵지 않게 불여우 지원을 할 수 있는데 안하는것을 보면
안타까워요.

npop = document.getElementById("noticepop");
npop.style.visibility = "visible";
sadrove의 이미지

죄송합니다...앞으로는 불여우도 생각하도록 하겠습니다..^^
그런데..
이상하게 계속 에러가 뜹니다.
전체 소스는 아래와 같습니다.
일부러 다 없애고 관련된 것만 넣었는데 그래도 에러가 납니다.
오류는 "개체가 필요합니다." 라고 나오네요...

<html>
<head>
<title>test</title>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<script language="javascript">
		npop = document.getElementById("noticepop"); 
		npop.style.visibility = "visible";
</script>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div style="position:relative;top:0;left:0;">
	<div id="noticepop" style="position:absolute;top:200;left:200;visibility:hidden;">
		<table>
		<tr>
			<td>test</td>
		</tr>
		</table>
	</div>
</div>
</body>
</html>
송효진의 이미지

스크립트가 위쪽에 있어서 그럽니다.
스크립트가 실행되는 시점에서는 div 태그가 없었다는거죠.
function 으로 만들고 body 에 onload="" 에 넣으시던가,
</body> 앞에 넣으세요.

sadrove의 이미지

송효진 wrote:
스크립트가 위쪽에 있어서 그럽니다.
스크립트가 실행되는 시점에서는 div 태그가 없었다는거죠.
function 으로 만들고 body 에 onload="" 에 넣으시던가,
</body> 앞에 넣으세요.

원래는 function이고 호출하는건데 보기 편하시라고 저렇게 한거거든요..
</body> 앞에 넣으세요. <-- 이 말이 어떻게 하라는 건지 잘 이해가 안 갑니다..
죄송하지만.. 조금만 더 설명 부탁드릴께요..

송효진의 이미지

<html> 
<head> 
<title>test</title> 
<meta http-equiv="content-type" content="text/html; charset=euc-kr"> 
</head> 
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> 
<div style="position:relative;top:0;left:0;"> 
   <div id="noticepop" style="position:absolute;top:200;left:200;visibility:hidden;"> 
      <table> 
      <tr> 
         <td>test</td> 
      </tr> 
      </table> 
   </div> 
</div> 
<script language="javascript"> 
      npop = document.getElementById("noticepop"); 
      npop.style.visibility = "visible"; 
</script> 
</body> 
</html>
sadrove의 이미지

아..

Quote:
스크립트가 실행되는 시점에서는 div 태그가 없었다는거죠.

이 말이 이제야 이해가 갔습니다..
감사합니다..좋은 밤 되세요..