getElementsByClassName 메소드에 대해서
Aug 5, 2013
getElementsByClassName 메소드의 용도
클래스명을 가지고 요소를 선택할 때 사용하는 메소드로 웹킷 전용 메소드다. getElementsByTagName과 같이 선택된 요소의 배열을 반환하는데, 이 메소드를 쓰는 것이 따로 JS 라이브러리로 구현하거나 XPATH를 사용하는 것보다 엄청나게 빠르다.
지원되지 않는 브라우저에서 대체하는 방법
IE 9에서는 이 메소드를 지원한다. 반면에 IE 6, 7, 8은 지원하지 않기 때문에 getElementsByTagName 함수를 직접 만들었다.
// 미지원 브라우저에서는 메소드 정의
if(typeof(document.getElementsByClassName) !== "function") {
document.getElementsByClassName = function(className) {
var arr = [];
var ele = document.getElementsByTagName("*");
var cnt = ele.length;
for(var i=0;i<cnt;i++) {
arr.push(ele[i]);
}
return arr;
};
}