简单的 对于元素类的操作

自己开始写的 对于元素类的操作 hasClass addClass removeClass

//判断节点是否有指定类 可以为多个 用空格隔开
base.hasClass=function(node,classname){
 if (!(node = base.$(node))) { return false; }
 if (!classname) { return false; };
 var nodeclassname = node.className;
 if (!nodeclassname) { return false;}
 var nodeclass_arr = base.stringToArray(nodeclassname),
 nodeclass_length = nodeclass_arr.length,
 class_arr = base.stringToArray(classname),
 class_length = class_arr.length,
 num = 0;
 for (var i = 0; i < nodeclass_length; i++) {
    for (var j = 0; j < class_length; j++) {
    if (nodeclass_arr[i] == class_arr[j]) {
    num++; 
    }
   }
 }
 if(num==class_length){
 return true;
 } else{
 return false;
 }
};

 

  

   // 给元素添加类 可为多个 空格分隔
base.addClass=function(node,classname){
    if (!(node = base.$(node))) { return false; }
    if (!classname) { return false;}
    var class_arr = base.stringToArray(classname),
        class_length=class_arr.length,
        node_classname=node.className;
    for(var i=0;i<class_length;i++){
        if(!base.hasClass(node,class_arr[i])){
            node_classname+=' '+class_arr[i];
        }
    }
    node.className = node_classname;
    return node;
};
    //移除元素的类 可为多个 空格分隔
base.removeClass=function(node,classname){
    if (!(node = base.$(node))) { return false; };
    if (!classname) { return false; };
    var class_arr = base.stringToArray(classname),
        class_length=class_arr.length,
        node_classname=node.className;
    for (var i = 0; i < class_length; i++) {
        if (base.hasClass(node,class_arr[i])) {
            node_classname = node_classname.replace(class_arr[i], '');
        }
    }
    node.className = node_classname;
    return node;
};

 

posted @ 2013-08-28 15:35  幻想飞鱼  阅读(185)  评论(0编辑  收藏  举报