自己开始写的 对于元素类的操作 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; };