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
자신을 불행한 존재라고 생각하는 사람은 아직도 더 불행해질 여지가 남아있다. 아주 작은 일에도 큰 기쁨을 느끼는 사람에게는 그 어떤 불행도 위력을 상실해 버리고 만다. 그러나 아주 작은 일에도 기쁨을 느낄 수 있는 경지에 이르기까지는 어차피 여러 가지 형태의 불행을 감내하지 않을 수가 없다. 불행이란 알고 보면 행복이라는 이름의 나무 밑에 드리워진 행복만한 크기의 나무그늘 같은 것이다. (이외수 "흐린 세상 건너기" 中에서)