解决IE8一下不支持getElementsByClassName的方法
2014-12-03 17:42
639 查看
function getElementsByClassName(className, root, tagName) { //root:父节点,tagName:该节点的标签名。 这两个参数均可有可无
if (root) {
root = typeof root == "string" ? document.getElementById(root) : root;
} else {
root = document.body;
}
tagName = tagName || "*";
if (document.getElementsByClassName) { //如果浏览器支持getElementsByClassName,就直接的用
return root.getElementsByClassName(className);
} else {
var tag = root.getElementsByTagName(tagName); //获取指定元素
var tagAll = []; //用于存储符合条件的元素
for (var i = 0; i < tag.length; i++) { //遍历获得的元素
for (var j = 0, n = tag[i].className.split(' ') ; j < n.length; j++) { //遍历此元素中所有class的值,如果包含指定的类名,就赋值给tagnameAll
if (n[j] == className) {
tagAll.push(tag[i]);
break;
}
}
}
return tagAll;
}
}
if (root) {
root = typeof root == "string" ? document.getElementById(root) : root;
} else {
root = document.body;
}
tagName = tagName || "*";
if (document.getElementsByClassName) { //如果浏览器支持getElementsByClassName,就直接的用
return root.getElementsByClassName(className);
} else {
var tag = root.getElementsByTagName(tagName); //获取指定元素
var tagAll = []; //用于存储符合条件的元素
for (var i = 0; i < tag.length; i++) { //遍历获得的元素
for (var j = 0, n = tag[i].className.split(' ') ; j < n.length; j++) { //遍历此元素中所有class的值,如果包含指定的类名,就赋值给tagnameAll
if (n[j] == className) {
tagAll.push(tag[i]);
break;
}
}
}
return tagAll;
}
}
相关文章推荐
- 解决IE8以下不支持getElementsByClassName的方法
- 解决ie8及一下不支持document.getElementsByClassName
- 解决 IE 不支持 document.getElementsByClassName() 的方法
- 解决 IE 不支持 document.getElementsByClassName() 的方法
- 解决对象不支持“getElementsByClassName”属性或方法 ie兼容性
- IE浏览器不支持getElementsByClassName的解决方法
- IE浏览器不支持getElementsByClassName的解决方法
- 进一步优化—IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- 浏览器不支持getElementsByClassName的解决办法
- 原生js方法document.getElementsByClassName在ie8及其以下的兼容性问题
- js原生封装getClassName()方法-ie不支持getElementsByClassName,所以要自己实现获取类名为className的所有元素
- IE浏览器对getElementByClassName()方法支持较差,解决方法(粗略):
- 解决ie9以下不兼容getElementsByClassName的方法
- 关于IE中getElementsByClassName不能用的问题解决方法
- IE不支持getElementsByClassName解决办法
- 解决getElementsByClassName在IE8之前无法使用的问题
- 针对ie8等低版本浏览器document.getElementsByName方法不生效解决方法
- IE不支持getElementsByClassName()方法的问题
- 解决 IE 不支持 document.getElementsByClassName()