document.all("Object명") vs document.getElementsByName("Object명") > 퍼블리셔팁

퍼블리셔팁

퍼블리싱과 관련된 유용한 정보를 공유하세요.
질문은 상단의 QA에서 해주시기 바랍니다.

document.all("Object명") vs document.getElementsByName("Object명") 정보

HTML document.all("Object명") vs document.getElementsByName("Object명")

본문

document.all("Object명") vs document.getElementsByName("Object명")

1. 우선 예제를 보세요.

<script language="javascript">
function f_test1()
{
  var lo_text = document.all.txt_test;
 
  // undefined로 나오죠.. 하나밗에 존재하지 않으니까 length란 속성이 안먹나 봐여
  // 둘이상 존재할때는 2라고 나오지만
  alert(lo_text.length);

  // 값을 변경해보겠습니다. 
  // lo_text.value = "test"; // 이렇게 실행시키면 에라가 발생하지 않죠..
 
  // 이걸 실행시키면 에러가 발생하겠죠.   
  lo_text[0].value = "test";

 
}

function f_test2()
{
  var lo_text = document.getElementsByName("txt_test");

  // 이걸 실행시키면 1이란 값을 찾아냅니다.
  alert(lo_text.length);

  // 배열은 0 부터 시작하니까..
  lo_text[0].value = "test"; // 에러가 발생하지 않습니다.
}
</script>

<input type="text" name="txt_test">

<input type="button" value="document.all 테스트" onclick="f_test1()">
<input type="button" value="getElementsByName 테스트" onclick="f_test2()">


2. 이걸 실행시키면 document.all을 하면 undefined로 나옵니다.
하지만 getElementsByName을하면 제가 원하는 답 1을 찾아냅니다.
또한 객체에 값도 잘 들어가는군요.

<input type="text" name="txt_test"> 컨트롤이 둘이상 존재할경우는
document.all.txt_test[0] 이런씩으로 제어가 가능하지만 하나만 존재할경우
document.all.txt_test로 값을 제어해야합니다.  document.getElementsByName("txt_test");
이런씩으로 객체를 지정하면 배열로 제어가 가능합니다.

[펌] http://blog.naver.com/pak36.do?Redirect=Log&logNo=60002928672<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]</div>
추천
0
  • 복사

댓글 1개

© SIRSOFT
현재 페이지 제일 처음으로