是否可以为jQuery
选择器创建一个mixin(请注意,我不需要插件,它们对我正在做的事情来说太笨重了)?
这是我要完成的任务:
// Given a div I need to paint it with green for which...
var $container = $("#id001");
// current solution
var do = function(e) {
var container = e.container;
container.css("backgroudColor", "green");
};
do({ container: $container }); // call
// desired solution
var do**Mixin** = function(e){
e.css("backgroudColor", "green");
};
container.do(); // call
答案 0 :(得分:4)
我知道你说你不需要插件,但是你需要的插件非常简单:
function($){
$.fn.makeItGreen = function(){
return this.each(function() {
this.css({
'background-color': 'green'
});
});
}
)(jQuery));
使用:
$(yourSelector).makeItGreen();
未经测试,但......非常确定它应该按原样运行。
小提琴(由Jamiec提供):
答案 1 :(得分:3)
您可以制作自定义事件:
$('selector').on('changeToGreen', function(){
$(this).css("backgroudColor", "green");
});
“做”它:
$('selector').trigger('changeToGreen');
答案 2 :(得分:3)
jQuery.prototype.do = function(){
this.css("background-color","green");
return this;
};
$(".mydiv").do();
写得更简洁:
$.fn.do = function(){
return this.css("background-color","green");
};