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) {//如果浏览器支持getElementsByClassNamereturn 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");