[Javascript] document.all 은 표준이 아니다. 그래서...

2008. 3. 28. 11:33Coders

요즘 웹 코딩을 조금 하고 있는데(ASP.NET Ver 2.0),
자꾸 runat="server" 때문에 페이지가 Reload 된다.
클라이언트 단에서 작업하는 부분은 페이지 로드 없이(서버에 갔다오지 않고) 처리해야 할 부분이 꽤 있기 때문에, 자바스크립트를 좀 살펴봐야 하는데... 회사에서 작업하는 거라, M$ Explorer 만 고려해도 되겠으나, 내가 사용하는 브라우저(파폭)에도 맞추려는 노력을 기울이다 보니, 여지껏 표준 메소드인 줄 알고 있었던,

document.all

이 놈이 표준이 아니었던 거다. 때문에 다음 메소드를 사용해야 하는데...

document.getElementById

여기저기 찾아다니다 보니, 이런 펑션(메소드)을 발견하여, 만들어 두고 쓰면 편할 것 같아 사용중이다.
앞으로 혹 코딩 관련한 포스팅을 할 경우, getObj() 가 튀어나오더라도,
씨발새끼! 이게 뭐야! 하는 경우가 없으시도록.... 굽신굽신...
그런데, 궁금한 건, 표준코드인 document.getElementById 를 무조건 사용하면 되는 게 아닌가 하는 생각도 들지만... 그건 좀 더 찾아봐야겠다.
 
  1. function getObj(objectId)
  2. {
  3.         // checkW3C DOM, then MSIE 4, then NN 4.
  4.         if(     document.getElementById &&
  5.                 document.getElementById(objectId))
  6.         {
  7.                 return document.getElementById(objectId);
  8.         }
  9.         else if(document.all &&
  10.                         document.all(objectId))
  11.         {
  12.                 return document.all(objectId);
  13.         }
  14.         else if(document.layers &&
  15.                         document.layers[objectId])
  16.         {
  17.                 return document.layers[objectId];
  18.         }
  19.         else
  20.         {
  21.                 return false;
  22.         }
  23. }