锋利的jQuery-7--一个$.fn.color插件的编写过程

编写一个设置和获取元素的color的插件:

首先实现第一个功能,设置:

    ;(function($){
            $.fn.extend({
                color:function(value){
                    return this.css("color",value);   //css方法本身就是返回当前元素的jQuery对象
                }
            });
        })(jQuery);

     $("span").color("red"); //调用

然后实现第二个功能,获取:如果没传入value就是获取

    ;(function($){
            $.fn.extend({
                color:function(value){
                    if(value == 'undefined'){     //如果没传入值就是获取
                        return this.css("color");
                    }else{
                        return this.css("color",value);  //css方法本身具有返回第一个匹配元素的样式值的功能,此处无需通过eq()来获取第一个元素
                    }
                }
            });
        })(jQuery);

实际上,css方法内部已经有判断value值是否为undefined的机制,所以才可以根据传递参数的不同返回不同值。因此可以:

    ;(function($){
            $.fn.extend({
                color:function(value){
                    return this.css("color",value); //传值就是设置,没传就是取值
                }
            });
        })(jQuery);

 

posted @ 2014-11-05 15:45  leezhxing  阅读(331)  评论(0编辑  收藏  举报