//查找类
function getElementsByClassName(parent,tagName,className){
var aEle=parent.getElementsByTagName(tagName);
var arr=[];
for(var i=0; i<aEle.length; i++)
{
var aClassName=aEle[i].className.split(‘ ‘); //....................(以空格为准)在拆分一次
for(var j=0; j<aClassName.length; j++)
{
if(aClassName[j]==className)
{
arr.push(aEle[i]);
break; //.............................如果找到一个就跳出循环
}
}
}
return arr;
}
//判断有没有重复的 用来配合增加类和删除类来用的
function arrIndexOf(arr,v)
{
for(var i=0; i<arr.length; i++)
{
if(arr[i]==v)
{
return i;
}
}
return -1;
}
// 添加class函数
function addClass(obj,className)
{
if(obj.className==‘‘) //.........................判断对象原来有没有类 没有就直接添加类
{
obj.className=className;
}
else{
var arr2=obj.className.split(‘ ‘);
var cun=arrIndexOf(arr2,className);
if(cun == -1){ //..............................判断对象原来没有这个类 然后在添加
obj.className +=‘ ‘+className;
}
}
}
//删除类函数
function removeClass(obj,className)
{
if(obj.className != ‘‘)
{
var arr2=obj.className.split(‘ ‘);
var cun=arrIndexOf(arr2,className);
if(cun != -1){
arr2.splice(cun,1); //...................................................splice(index,howmany,item1)
obj.className=arr2.join(‘ ‘);
}
}
}
知识点:
splice(index,howmany,item1)
index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1:可选。向数组添加的新项目。