2008년 11월 20일 목요일

IE에서 getElementsByName 오류 해결방법

IE에서 getElementsByName 이 제대로 동작하지 않는다.

예를 들어 아래 코드를 보자.

<html>
<head>
<script language="JavaScript">
  window.onload = function() {
    var aa = document.getElementsByName("aa");
    alert(aa.length);
  }
</script>
</head>
<body>
<div name="aa" ></div>
<div name="aa" ></div>
</body>
</html>

이 코드를 파이어폭스, 사파리, 구글크롬에서 각각 실행해봤다.

모두 2 라는 값이 나왔다.

그러나 IE는 0 이 나온다.

인터넷을 찾아봤더니 여러 해결책이 나와있던데.. 내가 찾아낸 가장 간단한 방법..

아주 간단한 방법이다.

<div name="aa" id="aa"></div>
<div name="aa" id="aa"></div>

위와 같이 id를 같은 value로 주면 된다. 이러면 IE에서도 정상적으로 동작한다.

물론 id값은 unique해야 하는데.. 웹표준에 위반되는 것이어서 좀 꺼림칙하지만.. 

이것처럼 간단한 방법은 없는것 같다 ㅎ

댓글 없음:

댓글 쓰기