我正在尝试创建一个可以在我的greasemonkey 脚本中使用的小型Javascript“框架”。我只需要非常基本的功能,所以这就是我选择不使用 mooTools 或 DOMAssistant 的原因。另外,我不会傻傻的把DOMAssitant 放到一个20KB 的Greasemonkey 脚本里!我只想要一小段整洁的代码。
我对下面的代码有一个小问题。我认为这是因为我在 $() 中返回了一个数组,所以我得到 .setStyle is not a function 错误消息。
var fmini = {
$ : function(a) {
var i=0,obj,d;
var e = [];
while (obj = arguments[i++]) {
d = document.getElementById(obj);
d.setStyle = fmini.setStyle;
d.each = fmini.each;
e.push(d);
}
return e;
},
setStyle : function(style, value) {
if (typeof this.style.cssText !== 'undefined') {
var styleToSet = this.style.cssText;
if (typeof style === 'object') {
for (var i in style)
if (typeof i === 'string') styleToSet += ';' + i + ':' + style[i];
}
else styleToSet += ';' + style + ':' + value;
this.style.cssText = styleToSet;
}
return this;
},
each : function (functionCall) {
for (var i=0, il=this.length; i < il; i++)
functionCall.call(this[i]);
return this;
},
}
window.$ = fmini.$;
当我这样做时,我希望它能够工作
$('bob','amy').setStyle({
'border' : '5px solid #ff0000',
'background-color' : '#ccc'
});