//此方法可以区分class相同的不同元素(功能相对齐全,理解起来也相对复杂一些)
function getElementsByClassName( parent,tag,className ){
//获取所有父节点下的tag元素
var aEls = parent.getElementsByTagName(tag);
var arr = [];
//循环所有tag元素
for (var i = 0; i < aEls.length; i++) {
//将tag元素所包含的className集合(这里指一个元素可能包含多个class)拆分成数组,赋值给aClassName
var aClassName = aEls[i].className.split(' ');
//遍历每个tag元素所包含的每个className
for (var j = 0; j < aClassName.length; j++) {
//如果符合所选class,添加到arr数组
if(aClassName[j] == className){
arr.push(aEls[i]);
//如果className里面包含'box' 则跳出循环
break; //防止一个元素出现多次相同的class被添加多次
}
};
};
return arr;
}
//此方法不能区分class相同的不同元素
function getClassName( oParent,oClassName ){
//获取父节点下所有子元素
var aEle = oParent.getElementsByTagName('*');
var arr = [];
for (var i = 0; i < aEle.length; i++) {
if( aEle[i].className == oClassName ){
arr.push( aEle[i] );
}
};
return arr;
}