!(function($,window, document, undefined){ function Plugin(ele,options){ //默认参数设置 this.defaults={ param1:'1', param2:'2', param3:'3', param4:[{'name':'aa'},{'name':'bb'},{'name':'cc'}] }; //合并传入的参数 this.options=$.extend({},this.defaults,options||{}); //标记当前对象 this.$ele=ele; //添加模板 var tpl = '<ul class="tplWrapper">'; for(var i=0;i<this.options.param4.length;i++){ tpl+='<li>'+this.options.param4[i]['name']+'</li>'; } tpl+='</ul>'; this.$ele.append(tpl); //执行初始化操作 this.init(); } Plugin.prototype={ init:function(){ //初始化操作 this.initFn(); }, initFn:function(){ //定义初始化操作 console.info('initFn'); }, otherFn:function(){ //定义可调用方法 console.info('otherFn'); this.$ele.find('.tplWrapper').children('li').css({'background':'red'}); return this.$ele;//返回当前对象供链式调用 } } $.fn.plugin=function(options){ return new Plugin(this,options); }; })(jQuery, window, document); var leyi=$('.nihao1').plugin(); leyi.otherFn().hide().show();//链式调用