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
행복은 뭘까? 우리와 함께하는 것들. 숨쉬는 공기, 나무, 하늘, 가족, 친구. 이에 대한 고마움은 스쳐지나가기가 쉽다. 행복은 우리와 함께하는 것들의 가치를 아는 것이다. (신현림)