首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery选择器的混合

问JQuery选择器的混合
EN

Stack Overflow用户
提问于 2012-12-11 00:48:09
回答 3查看 187关注 0票数 0

有没有可能为jQuery选择器创建一个混入(请注意,我不需要插件,它们对于我正在做的事情来说太大了)?

这是我想要完成的任务:

代码语言:javascript
复制
  // 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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-11 00:56:10

我知道你说你不需要插件,但是你需要的插件非常简单:

代码语言:javascript
复制
function($){
    $.fn.makeItGreen = function(){
        return this.each(function() {
            this.css({
                'background-color': 'green'
            });
        });
    }
)(jQuery));

使用:

代码语言:javascript
复制
$(yourSelector).makeItGreen();

未经测试,but....pretty确信它应该可以按原样工作。

小提琴(由提供):

http://jsfiddle.net/mPu6X/

票数 5
EN

Stack Overflow用户

发布于 2012-12-11 00:50:42

您可以创建自定义事件:

代码语言:javascript
复制
$('selector').on('changeToGreen', function(){
    $(this).css("backgroudColor", "green");
});

要“做”它:

代码语言:javascript
复制
$('selector').trigger('changeToGreen');
票数 3
EN

Stack Overflow用户

发布于 2012-12-11 00:56:22

你在找这样的东西吗?http://jsfiddle.net/WDmjS/

代码语言:javascript
复制
​jQuery.prototype.do = function(){
    this.css("background-color","green");
    return this;
};

$(".mydiv").do();

​写得更简洁:

代码语言:javascript
复制
​$.fn.do = function(){
    return this.css("background-color","green");
};
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13805349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档