1. 程式人生 > >jquery插件編寫

jquery插件編寫

jquery對象 擴展 需要 對象 方式 text asc type 直接

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>插件編寫</title> </head> <body> <p> <a href="javascript:;">鏈接一</a> <a href="javascript:;">鏈接二</a> <a href="javascript:;">鏈接三</a> </p> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript"> /*方法一:通過$.extend()來擴展jQuery 在jQuery命名空間或者理解成jQuery身上添加了一個靜態方法 所以我們調用通過$.extend()添加的函數時直接通過$符號調用($.myfunction()) 而不需要選中DOM元素($(‘#example‘).myfunction())。 這種方式用來定義一些輔助方法是比較方便的。比如一個自定義的console,輸出特定格式的信息, 定義一次後可以通過jQuery在程序中任何需要的地方調用它。 */ $.extend({ sayHello:function(name){ alert("hello"+ (name ? name : "jim")); } }); //$.sayHello("xiao"); /*方法二:通過$.fn 向jQuery添加新的方法 基本上就是往$.fn上面添加一個方法,名字是我們的插件名稱。然後我們的插件代碼在這個方法裏面展開。 在插件名字定義的這個函數內部,this指代的是我們在調用該插件時,用jQuery選擇器選中的元素, 一般是一個jQuery類型的集合。比如$(‘a‘)返回的是頁面上所有a標簽的集合,且這個集合已經是jQuery包裝類型了, 也就是說,在對其進行操作的時候可以直接調用jQuery的其他方法而不需要再用美元符號來包裝一下。 */ $.fn.colorRed = function(){ this.css("color","red"); ////在這個方法裏面,this指的是用jQuery選中的元素,不需要加$ this.each(function(){ //this指代jQuery選擇器返回的集合,在each方法內部,this指帶的是普通的DOM元素了,如果需要調用jQuery的方法那就需要用$來重新包裝一下。 $(this).append($(this).attr("href")); }) } /*調用的時候,要先獲取jquery對象,然後調用插件方法,不是直接colorRed("a"),切記!*/ $("a").colorRed(); </script> </body> </html>

jquery插件編寫