兼容IE8以下,获取className节点的元素(document.getElementsByClassName()兼容写法)。
因为ie8一下不兼容
document.getElementsByClassName()
功能:通过class的名字获取符合条件的元素
node.getElementsByClassName()
指定node节点下,符合条件的元素。
所以我们自己封装一个兼容IE8以下,获取className节点的函数。
//兼容IE8以下,获取className节点的元素。
function elementsByClassName(node, className){
var res = [];
//定义一个数组用来存class相同的节点
//1、查找node所有的子节点
var nodes = node.getElementsByTagName("*");
/*node.getElementsByTagName("*") 的意思是通过标签名查找所以node节点下所有的节点*为通配符*/
for(var i = 0;
i < nodes.length;
i++){//遍历每一个节点
if(nodes[i].className == className){//判断每一个节点的class属性名是否等于 传入的class名
res.push(nodes[i]);
}
}
然后进行调用即可
window.onload = function(){
var oUl = document.getElementById('ul1')
var node = elementByClassName(oUl, 'box');
alert(node.length);
//2
}
html结构如下:
- 11111111
- 11111111
- 11111111
- 11111111
- 22222222
- 22222222
- 22222222
【兼容IE8以下,获取className节点的元素(document.getElementsByClassName()兼容写法)。】转载于:https://www.cnblogs.com/jxldjsn/p/11084513.html
推荐阅读
- 注册分销商的骄傲
- 事件解绑与解绑的兼容代码
- 《月线上的一笔(一段熊牛的历程,如何看大盘系列》目录)
- STM32F4|STM32F4 TIM6 TIM7 基本定时器
- 春节福利
- 权倾九州OL
- JS下兼容性比较好的全屏方法
- Android|Android O 8.0及其以上系统的通知(Notification)、安装apk问题更新后的简单兼容写法
- 产品隐私政策与使用条款
- CSS兼容性笔记