天天看点

$.fn.extend简单学习

<code>(</code><code>function</code><code>($){</code>

<code>    </code> 

<code>    </code><code>/**</code>

<code>        </code><code>1.</code>

<code>        </code><code>$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。</code>

<code>        </code><code>如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,</code>

<code>        </code><code>那么后面你的每一个jquery实例都可以引用这个方法了. </code>

<code>        </code><code>那么你可以这样子:$("#div").abc(); </code>

<code>        </code><code>2.  </code>

<code>        </code><code>jQuery为开发插件提拱了两个方法,分别是: </code>

<code>        </code> 

<code>        </code><code>jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。→ 可以理解为【静态方法 】</code>

<code>        </code><code>jQuery.fn.extend(object);给jQuery对象添加方法</code>

<code>        </code><code>jQuery.fn.extend(object);对jQuery.prototype进得扩展,</code>

<code>        </code><code>就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。</code>

<code>        </code><code>//jQuery源码中。。。</code>

<code>        </code><code>jQuery.fn = jQuery.prototype ={ </code>

<code>        </code><code>   init: function( selector, context ){//....  </code>

<code>        </code><code>   //...... </code>

<code>        </code><code>}; </code>

<code>        </code><code>3.</code>

<code>        </code><code>$.fn.function用于添加单个方法</code>

<code>        </code><code>$.fn.extend 用于添加多个方法</code>

<code>        </code><code>参考:http://www.cnblogs.com/wyjgreat/archive/2011/07/19/2110754.html</code>

<code>    </code><code>*/</code>

<code>    </code><code>//1.</code>

<code>    </code><code>$.fn.abc = </code><code>function</code><code>() {</code>

<code>        </code><code>alert(</code><code>"测试$.fn.,可以参考select下拉框总结那篇文章!"</code><code>);</code>

<code>    </code><code>}</code>

<code>    </code><code>//2.为 jQuery 添加一个为add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了,</code>

<code>    </code><code>$.extend({</code>

<code>        </code><code>add:</code><code>function</code><code>(a,b) {</code>

<code>            </code><code>return</code> <code>a + b;</code>

<code>        </code><code>},</code>

<code>        </code><code>sub:</code><code>function</code><code>(a,b) {</code>

<code>            </code><code>return</code> <code>a - b;</code>

<code>        </code><code>}</code>

<code>    </code><code>});</code>

<code>    </code><code>//2.1</code>

<code>    </code><code>$.fn.extend({</code>

<code>        </code><code>getVal:</code><code>function</code><code>() {</code>

<code>            </code><code>return</code> <code>$(</code><code>this</code><code>).val();</code>

<code>    </code><code>//3....</code>

<code>    </code><code>$.hcCookie = {</code>

<code>            </code><code>g: </code><code>function</code><code>(name) {</code>

<code>                </code><code>var</code> <code>arr = document.cookie.match(</code><code>new</code> <code>RegExp(</code><code>"(^| )"</code> <code>+ name + </code><code>"=([^;]*)(;|$)"</code><code>));</code>

<code>                </code><code>if</code> <code>(arr != </code><code>null</code><code>) </code><code>return</code> <code>unescape(arr[2]); </code><code>return</code> <code>null</code><code>;</code>

<code>            </code><code>},</code>

<code>            </code><code>d: </code><code>function</code><code>(name) {</code>

<code>                </code><code>var</code> <code>exp = </code><code>new</code> <code>Date();</code>

<code>                </code><code>exp.setTime(exp.getTime() - 1);</code>

<code>                </code><code>var</code> <code>cval = getCookie(name);</code>

<code>                </code><code>if</code> <code>(cval != </code><code>null</code><code>) document.cookie = name + </code><code>"="</code> <code>+ cval + </code><code>";expires="</code> <code>+ exp.toGMTString() + </code><code>";path=/"</code><code>;</code>

<code>            </code><code>s: </code><code>function</code><code>(name, value,t) {</code>

<code>                </code><code>var</code> <code>days = 30;</code>

<code>                </code><code>if</code><code>(t){</code>

<code>                    </code><code>exp.setTime(exp.getTime()+t* 60 * 60 * 1000);</code>

<code>                </code><code>}</code><code>else</code><code>{</code>

<code>                    </code><code>exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);</code>

<code>                </code><code>}</code>

<code>                </code> 

<code>                </code><code>document.cookie = name + </code><code>"="</code> <code>+ escape(value) + </code><code>";expires="</code> <code>+ exp.toGMTString() + </code><code>";path=/"</code><code>;</code>

<code>            </code><code>}</code>

<code>    </code><code>};</code>

<code>})(jQuery);</code>

<code>/**</code>

<code>    </code><code>写在(function($){})(jQuery);外面</code>

<code>    </code><code>【下面的代码可以单独放在一个JS中,base.js】</code>

<code>*/</code>

<code>var</code> <code>kzCookie={</code>

<code>    </code><code>g: </code><code>function</code><code>(name) {</code>

<code>        </code><code>var</code> <code>arr = document.cookie.match(</code><code>new</code> <code>RegExp(</code><code>"(^| )"</code> <code>+ name + </code><code>"=([^;]*)(;|$)"</code><code>));</code>

<code>        </code><code>if</code> <code>(arr != </code><code>null</code><code>) </code><code>return</code> <code>unescape(arr[2]); </code><code>return</code> <code>null</code><code>;</code>

<code>    </code><code>},</code>

<code>    </code><code>d: </code><code>function</code><code>(name) {</code>

<code>        </code><code>var</code> <code>exp = </code><code>new</code> <code>Date();</code>

<code>        </code><code>exp.setTime(exp.getTime() - 1);</code>

<code>        </code><code>var</code> <code>cval = </code><code>this</code><code>.g(name);</code>

<code>        </code><code>if</code> <code>(cval != </code><code>null</code><code>) document.cookie = name + </code><code>"="</code> <code>+ cval + </code><code>";expires="</code> <code>+ exp.toGMTString() + </code><code>";path=/"</code><code>;</code>

<code>    </code><code>s: </code><code>function</code><code>(name, value,t) {</code>

<code>        </code><code>var</code> <code>days = 30;</code>

<code>        </code><code>if</code><code>(t){</code>

<code>            </code><code>exp.setTime(exp.getTime()+t* 60 * 60 * 1000);</code>

<code>        </code><code>}</code><code>else</code><code>{</code>

<code>            </code><code>exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);</code>

<code>        </code><code>document.cookie = name + </code><code>"="</code> <code>+ escape(value) + </code><code>";expires="</code> <code>+ exp.toGMTString() + </code><code>";path=/"</code><code>;</code>

<code>};</code>

<code>//去右空格 </code>

<code>String.prototype.rTrim=</code><code>function</code><code>(str){         </code>

<code>   </code><code>var</code>   <code>re_r=</code><code>new</code> <code>RegExp(</code><code>"([.\\w]*)"</code><code>+(str&amp;&amp;(</code><code>"(\\"</code><code>+str+</code><code>")"</code><code>)||</code><code>"[ ]"</code><code>)+</code><code>"+$"</code><code>) ;</code>

<code>   </code><code>return</code>   <code>this</code><code>.replace(re_r, </code><code>"$1"</code><code>) ;</code>

<code>//去左空格 </code>

<code>String.prototype.lTrim=</code><code>function</code><code>(str){         </code>

<code>    </code><code>var</code>   <code>re_l=</code><code>new</code> <code>RegExp(</code><code>"^"</code><code>+(str&amp;&amp;(</code><code>"(\\"</code><code>+str+</code><code>")"</code><code>)||</code><code>"[ ]"</code><code>)+</code><code>"+(.*)"</code><code>) ;</code>

<code>    </code><code>return</code>   <code>this</code><code>.replace(re_l, </code><code>"$2"</code><code>) ;</code>

<code>//去左右空格 </code>

<code>String.prototype.trim=</code><code>function</code><code>(str){           </code>

<code>   </code><code>return</code>   <code>this</code><code>.lTrim(str).rTrim(str) ;</code>

测试代码:

<code>&lt;!DOCTYPE html&gt;</code>

<code>&lt;</code><code>html</code> <code>lang</code><code>=</code><code>"en"</code><code>&gt;</code>

<code>&lt;</code><code>head</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>meta</code> <code>charset</code><code>=</code><code>"UTF-8"</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>title</code><code>&gt;Document&lt;/</code><code>title</code><code>&gt;</code>

<code>&lt;/</code><code>head</code><code>&gt;</code>

<code>&lt;</code><code>body</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>div</code><code>&gt;test&lt;/</code><code>div</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>input</code> <code>type</code><code>=</code><code>"text"</code> <code>value</code><code>=</code><code>"hanchao"</code><code>&gt;</code>

<code>    </code><code>&lt;!-- JS --&gt;</code>

<code>    </code><code>&lt;</code><code>script</code> <code>type</code><code>=</code><code>"text/javascript"</code> <code>src</code><code>=</code><code>"http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"</code><code>&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>script</code> <code>type</code><code>=</code><code>"text/javascript"</code> <code>src</code><code>=</code><code>"demo.js"</code><code>&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>script</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>&gt;</code>

<code>        </code><code>(function(){</code>

<code>            </code><code>//alert(1);</code>

<code>            </code><code>// $("div").abc();</code>

<code>            </code><code>// var result = $.add(3,4);</code>

<code>            </code><code>// alert(result);</code>

<code>            </code><code>//var result = $.sub(5,4);</code>

<code>            </code><code>//alert(result);</code>

<code>            </code><code>// var result = $("input").getVal();</code>

<code>/*</code>

<code>           </code><code>kzCookie.s("hanchao","testcookienew",24);</code>

<code>            </code><code>kzCookie.s("hanchao1","testcookienew1",24);</code>

<code>             </code> 

<code>            </code><code>kzCookie.d("hanchao");</code>

<code>            </code><code>//kzCookie.d("hanchao1");</code>

<code>            </code><code>var cookieValue = kzCookie.g("hanchao");</code>

<code>            </code><code>var cookieValue1 = kzCookie.g("hanchao1");</code>

<code>            </code><code>alert(cookieValue);</code>

<code>            </code><code>alert(cookieValue1);*/</code>

<code>            </code><code>$.hcCookie.s("hanchao","testcookienew",24);</code>

<code>        </code><code>})();</code>

<code>    </code><code>&lt;/</code><code>script</code><code>&gt;</code>

<code>&lt;/</code><code>body</code><code>&gt;</code>

<code>&lt;/</code><code>html</code><code>&gt;</code>

     本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/1529686,如需转载请自行联系原作者

继续阅读