给某元素添加指定class名——纯JS

function addClass(obj,classname){  //obj给哪个元素添加,className添加的属性名
    if(obj.className==""){
        //如果原来没有class
        obj.className=classname;  //元素的属性名等于需要添加的属性名
    }else{
        //如果原来有class
        var arrClassName=obj.className.split(" ");  //把元素的class属性的值分割成数组
        var _index=arrIndexOf(arrClassName,classname);   //判断给定的class值在元素的class里是否存在,如果存在变量是下标,如果不存在变量是-1
        if(_index==-1){  
            //如果要添加的class在原来的class中不存在则添加class
            obj.className+=" "+classname;
        }
        //如果要添加的class在原来的class中存在则不需要操作
    }
}

function arrIndexOf(arr,v){  //判断数组arr里是否存在给定元素v
    for(var i=0;i<arr.length;i++){
        if(arr[i]==v){
            return i;  //如果存在给定元素,返回元素存在的下标
        }
    }
    return -1; //如果不存在返回-1
}

调用方法:addClass(给哪个元素添加,"添加的class名");

var aa=document.getElementById("wo");
addClass(aa,"box1");

 

posted @ 2017-04-18 11:33  念念念不忘  阅读(1445)  评论(0)    收藏  举报