我已经摆弄了许多片段,但这是我到目前为止最接近的片段:
function Q(a){
if(typeof a=="string"){
var b=a[0],c=a.substring(1);
return b=="#"?document.getElementById(c):b=="."?document.getElementsByClassName(c):document.getElementsByTagName(a);
}
}
Q.setClass=function(b){a.className=b}
我希望能够Q("#ID").setClass("testClass");
我该怎么做?
答案 0 :(得分:1)
你的问题中没有对象 - 功能混合。你想要一个Q
(构造函数/工厂)函数,它产生一个对象,它有一个setClass
(方法)函数
例如可以这样做:
function Q(el) {
if (typeof el=="string") {
var b = el.charAt(0),
c = el.substring(1);
el = b=="#"
? [document.getElementById(c)]
: b=="."
? document.getElementsByClassName(c)
: document.getElementsByTagName(a);
}
return {
setClass: function(cls) {
for (var i=0; i<el.length; i++)
el[i].className = cls;
}
};
}