点击打开:

jquery系列教程1-选择器全解

jquery系列教程2-style样式操作全解

jquery系列教程3-DOM操作全解

jquery系列教程4-事件操作全解

jquery系列教程5-动画操作全解

jquery系列教程6-ajax的应用全解

jquery系列教程7-自定义jquery插件全解

jquery系列教程8-jquery插件大全

自定义jquery插件详解:

1、插件名称最好为jquery.[插件名].js。所有方法和函数插件都应该以分号结尾。插件开头也应该添加分号。

2、插件应该返回一个jquery对象,以保证链式操作。或者返回需要获取的量。插件内部不要使用$作为jquery对象的别名。

3、所有的对象方法附加到jQuery.fn对象上,所有的全局函数,附加到jQuery对象上。

4、插件内部,this指向通过选择器获取的jquery对象,可以通过this.each遍历所有元素。

5、基本定义方法

;(function($){                                                  //最前端的分号为了更好的兼容性,  将$作为匿名函数的形参
    //此处编写jquery插件代码,可以将$作为jquery的缩写别名
})(jQuery);                                                     //这里就将jquery作为实参传递给匿名函数

6、基本扩展方法

options = jQuery.extend({                                       //extend扩展对象属性,extent收集多个对象参数的属性集合,属性的值以最晚出现的为准
    name:"name1",                                               //既可以用于为对象设置属性默认值,又可以用来扩展对象
    age:12
},options);                                                     //当oprions属性和默认属性重叠时,值以越晚出现的为准

封装jquery对象函数

;(function($){
    $.fn.extend({                                                //对jquery.fn对象进行扩展
        "color":function(value){                                //自定义color函数,设置无参和有参时的调用
            if(value==undefined)
                return this.css("color");                       //没有参数时返回颜色   this表示jquery选择器选择的元素对象
            else
                return this.css("color",value);                 //有参数时设置颜色
        },
        "myfun": function (options) {                           //多个自定函数,以映射的形式存在于一个字典中
            options = $.extend({name:"name1",age:12},options);   //对传递参数可能不全的情况进行兼容,设置默认值
            //使用options进行后续函数
            return this;                                         //返回this,使方法可链
        },
        "max":function(){                                        //选择器选择的元素可能有多个,通过this传递过来就是元素列表
            return this.each(function () {                      //通过each对选择的元素列表进行遍历

            });
        }
    });
})(jQuery);

调用对象函数

$("div").color("red");                                          //设置颜色

封装jquery全局函数

;(function($){
    $.extend({                                                  //全部函数,不需要fn,对jquery自己进行扩展
        myfun1:function(text){
            return text;
        },
        myfun2:function(value){}
    });
})(jQuery);

调用全局函数

jQuery.myfun1("111111");

自定义jquery选择器

;(function($) {
    $.extend(jQuery.expr[":"],{                             //自定义选择器是jQuery.expr[":"]对象的一部分,所以对该对象进行扩展
        between:  function(a,i,m){                           //自定义between选择器,  a表示遍历到的当前DOM元素,i表示DOM元素的索引,从0开始,m是一个数组。
            //以$("div:gt(1)")为例。m[0]表示进一步要匹配的内容:gt(1)    m[1]表示选择器引导符:    m[2]表示选择器函数get     m[3]表示选择器函数参数1
            var tmp=m[3].split(",");                        //以逗号为分隔符,这里自己定义分隔符
            return tmp[0]-0<i && i<tmp[1]-0;                //当元素索引在两个参数之间,返回true,表示选中
        }
    });
})(jQuery);

应用自定义选择器

$("div:between(2,5)").css("color","red");

jquery系列教程7-自定义jquery插件全解:对象函数、全局函数、选择器的更多相关文章

  1. jquery系列教程4-事件操作全解

    点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...

  2. jquery系列教程2-style样式操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  3. jquery系列教程6-ajax的应用全解

    点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...

  4. jquery系列教程3-DOM操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  5. jquery系列教程1-选择器全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  6. Spring 系列教程之自定义标签的解析

    Spring 系列教程之自定义标签的解析 在之前的章节中,我们提到了在 Spring 中存在默认标签与自定义标签两种,而在上一章节中我们分析了 Spring 中对默认标签的解析过程,相信大家一定已经有 ...

  7. React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发

    React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发   2016/09/23 |  React Native技术文章 |  Sky丶清|  4 条评论 |  1 ...

  8. Sql Server函数全解<五>之系统函数

    原文:Sql Server函数全解<五>之系统函数  系统信息包括当前使用的数据库名称,主机名,系统错误消息以及用户名称等内容.使用SQL SERVER中的系统函数可以在需要的时候获取这些 ...

  9. Jquery系列教程

    最近想重新温习下Jquery,发现园子里有个很棒的系列教材,所以Mark下来. 转载自:http://www.cnblogs.com/zhangziqiu/tag/jQuery%E6%95%99%E7 ...

随机推荐

  1. [转载]Linux shell中的竖线(|)——管道符号

    原文地址:Linux shell中的竖线(|)--管道符号作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | command ...

  2. MiniProfiler工具

    MiniProfiler工具介绍   MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序.可以对一个页面本身,及该页面通过直接引用.Ajax. ...

  3. 【Beta】Daily Scrum Meeting——Day6

    站立式会议照片 1.本次会议为第六次Meeting会议: 2.本次会议在早上9:35,在陆大楼召开,本次会议为30分钟讨论今天要完成的任务以及接下来的任务安排. 燃尽图 每个人的工作分配 成 员 昨天 ...

  4. 201521123060《Java程序设计》第2周学习总结

    1. 本周学习总结 a.进一步熟悉了Eclipse的使用和java程序的编写: b.学习了java数据的基本类型:整数类型,浮点类型等: c.学习了算数运算符,赋值运算符,位运算符,关系运算符,逻辑运 ...

  5. 201521123065《java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 1.多线程的临界资源:启动多个线程同时运行时,需要同时访问共同的资源,导致结果的不正确性: 2.原子性操作:只进行 ...

  6. openfire:基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件

    基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件 上一篇文章介绍到怎么在自己的Java环境中搭建openfire插件开发的环境,同时介绍到怎样一步步简单的开发openfir ...

  7. Python爬虫2----------运用代理访问

    为request添加一个代理,及将浏览器头部信息加入,随机从ip列表中拿出一个ip进行访问 注意函数参数的形式,如request.proxyhandler(协议,地址) import urllib.r ...

  8. Linux入门_1

    Linux入门 目录  Root用户  终端  交互式接口(图形化界面和命令行)  什么是Shell(bash)  命令提示符  内部命令和外部命令 enable,hash  命令别名 ...

  9. Oracle函数之chr

    chr()函数将ASCII码转换为字符:字符 –> ASCII码:ascii()函数将字符转换为ASCII码:ASCII码 –> 字符: 在oracle中chr()函数和ascii()是一 ...

  10. JVM菜鸟进阶高手之路十(基础知识开场白)

    转载请注明原创出处,谢谢! 最近没有什么实战,准备把JVM知识梳理一遍,先以开发人员的交流来谈谈jvm这块的知识以及重要性,依稀记得2.3年前用solr的时候老是经常oom,提到oom大家应该都不陌生 ...