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

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

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

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
모든 일은 망설이는 것보다 불완전할 때 시작하는 것이 한 걸음 앞서는 것이다.