标签:extend
(function($){ /** 1. $.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。 如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法, 那么后面你的每一个jquery实例都可以引用这个方法了. 那么你可以这样子:$("#div").abc(); 2. jQuery为开发插件提拱了两个方法,分别是: jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。→ 可以理解为【静态方法 】 jQuery.fn.extend(object);给jQuery对象添加方法 jQuery.fn.extend(object);对jQuery.prototype进得扩展, 就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。 //jQuery源码中。。。 jQuery.fn = jQuery.prototype ={ init: function( selector, context ){//.... //...... }; 3. $.fn.function用于添加单个方法 $.fn.extend 用于添加多个方法 参考:http://www.cnblogs.com/wyjgreat/archive/2011/07/19/2110754.html */ //1. $.fn.abc = function() { alert("测试$.fn.,可以参考select下拉框总结那篇文章!"); } //2.为 jQuery 添加一个为add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了, $.extend({ add:function(a,b) { return a + b; }, sub:function(a,b) { return a - b; } }); //2.1 $.fn.extend({ getVal:function() { return $(this).val(); } }); //3.... $.hcCookie = { g: function(name) { var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) return unescape(arr[2]); return null; }, d: function(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = getCookie(name); if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/"; }, s: function(name, value,t) { var days = 30; var exp = new Date(); if(t){ exp.setTime(exp.getTime()+t* 60 * 60 * 1000); }else{ exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000); } document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/"; } }; })(jQuery); /** 写在(function($){})(jQuery);外面 【下面的代码可以单独放在一个JS中,base.js】 */ var kzCookie={ g: function(name) { var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) return unescape(arr[2]); return null; }, d: function(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = this.g(name); if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/"; }, s: function(name, value,t) { var days = 30; var exp = new Date(); if(t){ exp.setTime(exp.getTime()+t* 60 * 60 * 1000); }else{ exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000); } document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/"; } }; //去右空格 String.prototype.rTrim=function(str){ var re_r=new RegExp("([.\\w]*)"+(str&&("(\\"+str+")")||"[ ]")+"+$") ; return this.replace(re_r, "$1") ; }; //去左空格 String.prototype.lTrim=function(str){ var re_l=new RegExp("^"+(str&&("(\\"+str+")")||"[ ]")+"+(.*)") ; return this.replace(re_l, "$2") ; }; //去左右空格 String.prototype.trim=function(str){ return this.lTrim(str).rTrim(str) ; };
测试代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div>test</div> <input type="text" value="hanchao"> <!-- JS --> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script> <script type="text/javascript" src="demo.js"></script> <script type="text/javascript"> (function(){ //alert(1); // $("div").abc(); // var result = $.add(3,4); // alert(result); //var result = $.sub(5,4); //alert(result); // var result = $("input").getVal(); // alert(result); /* kzCookie.s("hanchao","testcookienew",24); kzCookie.s("hanchao1","testcookienew1",24); kzCookie.d("hanchao"); //kzCookie.d("hanchao1"); var cookieValue = kzCookie.g("hanchao"); var cookieValue1 = kzCookie.g("hanchao1"); alert(cookieValue); alert(cookieValue1);*/ $.hcCookie.s("hanchao","testcookienew",24); var cookieValue = kzCookie.g("hanchao"); alert(cookieValue); })(); </script> </body> </html>
本文出自 “我的JAVA世界” 博客,请务必保留此出处http://hanchaohan.blog.51cto.com/2996417/1529686
$.fn.extend简单学习,布布扣,bubuko.com
标签:extend
原文地址:http://hanchaohan.blog.51cto.com/2996417/1529686