ie8不兼容原生js的document.getElementsByClassName()方法。
解决方法一:
可以使用jquery的$(".class")代替,需要引入jquery.js文件,适用于使用jquery库的项目。
注意:document.getElementsByClassName()方法获取的对象为DOM对象,需要使用DOM对象的API
$(".class")方法获取的对象为Jquery对象,需要使用jQuery对象的API
解决方法二:
自己封装一个方法用于兼容ie8, 此方法适用于原生js项目
function getDomsByClass(className) {
if(document.getElementsByClassName) {//如果浏览器支持getElementsByClassName
return document.getElementsByClassName(className);
}else {
var arr = [];
var doms = document.getElementsByTagName("*");
for(var i = 0; i < doms.length; i++) {
if(doms[i].className == className) {
arr.push(doms[i]);
}
}
return arr;
}
}
使用时直接调用:
var doms = getDomsByClass("class");