原生js方法document.getElementsByClassName在ie8及其以下的兼容性问题

【字号: 日期:2024-07-11浏览:65作者:雯心
原生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;iarr.length;i++){ if (arr[i]==classStr){ return true ; } } return false ; }
标签: JavaScript
相关文章: