Html & Script

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

페이지 정보

본문



구형진
http://webthink.co.kr



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");
이런씩으로 객체를 지정하면 배열로 제어가 가능하겠죠^^

다 알고 있는 팁이였나 ^^ 짧은 팁이였습니다.

매끄러운 하루 보내세요..

관련자료

등록된 댓글이 없습니다.
Today's proverb
남을 비난하는 것만큼 쉬운 일은 없다. 어떤 일이 그릇되었다는 것을 아는 데는 그리 많은 것이 필요하지 않다. 하지만 어떻게 하면 그것을 다시 바르게 할 수 있는가를 아는 데는 남다른 눈썰미가 있어야 한다. (빌 로저스)