/* 1.jQuery插件文件名推荐命名为 jquery.[插件名].js 以免和其他javascript库插件混淆。例如命名为jquery.color.js 2.所有的对象方法名都应当附加到jQuery.fn对象上而所有的全局函数都应当附加到jQuery对象本身上。 3.在插件内部,this指向的是当前通过选择器获取的jquery对象,而不像一般方法哪样,例如chick()方法,内部的this指向的dom元素 4.可以通过this.each来遍历所有元素 5.所有的方法或函数插件,都应当以分号结尾,否者压缩的时候可能出现问题,为了更稳妥一些,甚至可以在插件头部先加上一个分号, 以免他人不规范的代码给查询带来影响。 6.插件应该返回一个jquery对象,以保证插件可链式操作。除非插件需要返回的是一些需要回去的量,例如字符串或者数组 7.避免在插件内部使用$作为jquery对象的别名,而应使完整的jquery来表示,这样可以避免冲突。当然,也可以利用闭包这种技巧来回避 这儿问题,使插件内部继续使用$作为jquery的别名。 */ //;为了更好的兼容性,开始有个分号 ;(function($){//此处将$作为匿名函数的形参 //$.fn.extend 扩展插件 $.fn.extend({ "color":function(value){//color 自己写的插件方法名 //jQuery提供了css方法可以直接写成this.css("属性","值"); return this.css("color",value); } }); })(jQuery);//这里将jquery作为实参传递给匿名函数 function red(){ alert($("#div").color()+"证明插件可用"); alert($("#div").color("red")+"证明插件返回了一个Jquery对象"); $("#div").color("red"); }
html代码
<body> <div id="div" onclick="red()">dddddddddddddddd</div> </body>