我编写了一个对象来使用 javascript 管理 css 类选择器。
使用文字对象正在工作,但不使用另一种 OOP 方式。
对象字面量
var className = {
getList : function(element,cssClass){
return element.className.split(' ');
},
has : function(element,cssClass){
var classList=element.className.toLowerCase().split(' ');
return classList.has(cssClass.toLowerCase());
},
add : function(element,cssClass){
if(className.has(element,cssClass)==false){
element.className+=' '+cssClass;
}
},
remove : function(element,cssClass){
var index = element.className.toLowerCase().split(' ').indexOf(cssClass.toLowerCase());
if( index > -1 ){ //found
var classList=element.className.split(' ');
classList.splice(index,1);
element.className=classList.join(' ');
}
}
}
构造对象。(不工作)
var cssClass = new function(element){
var that=this;
this.getList = function(){
return element.className.split(' ');
}
this.has = function(className){
var classList=element.className.toLowerCase().split(' ');
return (classList.indexOf(className.toLowerCase())>-1);
}
this.add = function(className){
if(that.has(className)==false){
element.className = className+' '+element.className;
}
}
this.remove = function(className){
var index = element.className.toLowerCase().split(' ').indexOf(className.toLowerCase());
if( index > -1 ){ //found
var classList=element.className.split(' ');
classList.splice(index,1);
element.className=classList.join(' ');
}
}
}
我收到此错误:
cssClass(d1).add('class1');
行:2 消息:“'[object Object]' 不是函数(评估'cssClass(d1)')”sourceId:4600193304
奖金问题:这是使用 javascript 管理 css 类的最佳方式吗?有标准的api吗?我应该使用单独的普通函数来写这个吗?