当前位置: 代码迷 >> 综合 >> ie8兼容问题(一) getElementsByClassName
  详细解决方案

ie8兼容问题(一) getElementsByClassName

热度:87   发布时间:2023-12-24 06:41:14.0

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");