특정한 element에 사용자가 정의한 attribute를 집어넣고 DOM으로 가지고 오려고 가정을 해보구요.
예를 들자면, 다음과 같이 되겠네요. (bookid가 사용자 정의 id가 됩니다.)
<img alt="..." src="..." bookid="..." />이 태그를 JavaScript에 접근하려고 할 때, 사용할 수 있는 방법 중 하나가 attributes 속성입니다.
일반적인 브라우져로는 attributes를 사용하여서 img 태그의 alt, src 또는 bookid를 접근할 수 있습니다.
var bookid = imgTag.attributes['bookid'].nodeValue;attributes는 NamedNodeMap 인터페이스를 구현하고 있기 때문에 attributes['bookid']를 통하여 (Attribute) Node에 접근하고 이 Node의 nodeValue값을 통해서 값을 사용할 수 있습니다.
그런데, Safari 2(PowerPC)에서 테스트를 하다보니 동작을 하지 않아서 확인해보니 Safari 2에서는 사용자가 정의한 속성에 대해서는 element.attributes를 통하여 접근을 허용하지 않더군요. getAttribute()는 허용을 합니다.
※ Safari 3은 테스트를 못해봤습니다.
댓글 없음:
댓글 쓰기