0

セレクターのミックスインを作成することは可能ですかjQuery(プラグインは必要ありません。プラグインは私がやっていることには大きすぎます)?

これが私が達成しようとしているタスクです:

  // 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
4

3 に答える 3

5

プラグインは必要ないとおっしゃっていましたが、必要なプラグインは非常にシンプルです。

function($){
    $.fn.makeItGreen = function(){
        return this.each(function() {
            this.css({
                'background-color': 'green'
            });
        });
    }
)(jQuery));

使用する:

$(yourSelector).makeItGreen();

テストされていませんが、....そのまま動作するはずです。

フィドル(Jamiec提供):

http://jsfiddle.net/mPu6X/

于 2012-12-10T16:56:10.333 に答える
3

カスタムイベントを作成できます。

$('selector').on('changeToGreen', function(){
    $(this).css("backgroudColor", "green");
});

それをするために:

$('selector').trigger('changeToGreen');
于 2012-12-10T16:50:42.017 に答える
3

このようなものをお探しですか?http://jsfiddle.net/WDmjS/

​jQuery.prototype.do = function(){
    this.css("background-color","green");
    return this;
};

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

より簡潔に書かれています:

​$.fn.do = function(){
    return this.css("background-color","green");
};
于 2012-12-10T16:56:22.103 に答える