document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
原生js方法“document.getElementsByClassName”在ie8及其以下浏览器中,不能使用。修改:加入兼容性判断,在需要用到该方法的位置修改为getClassNames方法。
代码如下:原来方法: document.getElementsByClassName('tabs_div');这里的调用方法为:getClassNames('tabs_div' , 'div');
var divs = getClassNames('tabs_div' , 'div');function getClassNames(classStr,tagName){ if (document.getElementsByClassName) { return document.getElementsByClassName(classStr) }else { var nodes = document.getElementsByTagName(tagName),ret = []; for(i = 0; i < nodes.length; i++) { if(hasClass(nodes[i],classStr)){ ret.push(nodes[i]) } } return ret; }}function hasClass(tagStr,classStr){ var arr=tagStr.className.split(/\s+/ ); //这个正则表达式是因为class可以有多个,判断是否包含 for (var i=0;i<arr.length;i++){ if (arr[i]==classStr){ return true ; } } return false ;}