使用函数封装的方法解决getElementsByClassName在低版本IE浏览器不支持的问题
在这里呢,支持从父节点开始查起,(可以不用从document查起)
在这个函数的两个参数中呢,parent代表的是父节点,classStr代表的是需要查询的class属性的值,里面放的是一个字符串
具体步骤如下:
1.找到parent节点下的所有元素节点,这里用通配符*来代替
2,声明一个用来记录符合条件的元素节点的数组
3,如果符合条件呢就将这个节点添加到这个数组中
4,最后,将装有符合条件的元素节点的数组返回
【注】至于什么叫做元素节点,请看下面具体介绍!!!
function elementByClassName(parent, classStr){
var nodes = parent.getElementsByTagName("*");
var result = [];
for(var i = 0 ; i < nodes.length; i++){
if(nodes[i].className == classStr){
result.push(nodes[i]);
}
}
return result;
}
元素节点
元素节点是在DOM(Document Object Model W3C(万维网联盟)的标准)中涉及的定义。
在DOM中有三种节点,并且在JS中,所有节点都是对象,三种节点分别是:
元素节点 : 标签名称(在我看来是这样,欢迎小伙伴批评指正),
属性节点 : 类似这样的:title = "属性节点"
文本节点 :标签中的文本内容