Page 1 of 1

e.srcElement와 동일한것???

Posted: 2006 01 23 11:05 25
by subicura
img src="" name="test" 라는 객체에
마우스를 클릭했을때
alert(e.srcElement.name) 이벤트를 발생시키면
클릭한 객체의 name이 정상적으로 뜹니다.(test)

FF에서는 e.target하면 역시 정상적으로 뜹니다.

문제는
<div name="test">어쩌구 저쩌구</div>
를 하고 똑같이 테스트 해보면
IE에서는 정상적으로 test라고 뜨지만
ff에서는 undifined라고 뜹니다.

div의 이름을 가지고 오는법 없을까요? ㅠㅠ

Re: e.srcElement와 동일한것???

Posted: 2006 01 23 18:13 48
by 박민권
subicura wrote: 문제는
<div name="test">어쩌구 저쩌구</div>
를 하고 똑같이 테스트 해보면
IE에서는 정상적으로 test라고 뜨지만
ff에서는 undifined라고 뜹니다.

div의 이름을 가지고 오는법 없을까요? ㅠㅠ
div에 name 속성은 표준에 어긋남니다.
앞으로 name은 사라지고 id로 대체될 것이기 때문에 name의 사용은 form 객체에 한정하서 사용하시길 권장합니다.

getAttribute() 을 통해서 기본적이지 않은 속성을 얻어낼 수 있습니다.
(*물론 기본적인 속성도 구할 수 있습니다.^^ 즉, 엘레멘트의 속성을 얻어내는 메소드 입니다.)

아래 코드를 참고하세요.

Code: Select all

#오류#
<div name="a" onclick="alert(this.name)">aaaaaaaa</div>

#정상#
<div name="a" onclick="alert(this.getAttribute('name'))">aa</div>
반대로 속성을 넣을때는 setAttribute()라는 메소드가 있습니다.
이들 메소드에 대한 자세한 사용법 및 예제는 구글등을 통해 쉽게 얻으실 수 있습니다.

위와 같은 방법으로 가능하더라도 표준에 어긋나는 속성은 사용하지 않는것이 좋습니다.