IE7, IE8에서 getElementsByClassName 구현하기

2014-05-18 02:08:35에 작성됨 | 자바,JS,JSP, 프로그래밍

의외로 IE7, IE8에서 getElementsByClassName를 지원하지 않아 살짝 당황했었다. 아래는 IE7과 IE8에서도 가능하게 만들어준다. 사용시는 그냥 document.getElementsByClassName 대신 getElementsByClassNameCompatible만 넣어주면(document 객체 빼고) 그대로 사용할 수 있다.

getElementsByClassNameCompatible = function(className) {

if(document.getElementsByClassName) {
return document.getElementsByClassName(className);
}

var regEx = new RegExp(‘(^| )’+className+'( |$)’);
var nodes = new Array();
var elements = document.body.getElementsByTagName(“*”);
var len = elements.length;
for(var i=0; i < len ; i++) {
if(regEx.test(elements[i].className)) {
nodes.push(elements[i]);
}
}
elements = null;
return nodes;
}

아래 첨부파일에 위 소스 내용을 다 포함하고 있으므로 받아서 사용할 수 있다.

classSelectorCompatible

Leave a Reply

Your email address will not be published. Required fields are marked *