我们在很多地方都用过插件,插件能让我们操作某个东西变得异常方便,jQuery也不例外,为了扩展jQuery库函数,jQuery提供了两种方式

  • jQuery.extend(object):扩展jQuery对象本身,主要是用来扩展jQuery全局函数,调用时直接$.函数名(参数)

来看一下例子:

<script>$.extend({min: function(a,b){return a < b ? a : b;},    //注意每个方法之间要用英文逗号隔开max: function(a,b){return a > b ? a : b;}});var min = $.min(5,7);console.log(min);var max = $.max(5,7);console.log(max);
</script>

但为了避免自己定义的函数或者变量与外部冲突,对jQuery函数的扩展一般写在自执行匿名函数中:

<script>(function($){$.min = function(a,b){ //此处不一样,上面是min : function(){}return a < b ? a : b;},$.max = function(a,b){return a > b ? a : b;}})(jQuery);//传入jQuery对象var min = $.min(5,7);console.log(min);var max = $.max(5,7);console.log(max);
</script>

  • jQuery.fn.extend(object):扩展jQuery元素集,主要用于扩展jQuery插件,调用时需要先创建jQuery对象,然后才能调用相应的函数$("").函数名([参数])

同样来看个例子:

<input type="checkbox" name="hobby" value="1" checked="checked"/>足球
<input type="checkbox" name="hobby" value="2"/>篮球
<input type="checkbox" name="hobby" value="3" checked="checked"/>乒乓球
<script>$.fn.extend({//该扩展函数用来获取被选中选项的value值values: function(){var result = "";this.each(function(){//此处this指代jQuery对象if(this.checked){result = result + ","+ this.value;//获取到被选中选项的value值}});if(result != ""){//因为上面给每个选中选项的value值前加了一个逗号,result = result.substr(1);//去掉最前面的那个逗号}return result;}});//调用扩展函数var result =  $("[name='hobby']").values();console.log(result);
</script>

同样它的自执行匿名函数的写法为:

<script>(function($){$.fn.values = function(){//此处与上面不一样,上面为 values : funciton(){}var result = "";this.each(function(){if(this.checked){result = result + ","+ this.value;}});if(result != ""){result = result.substr(1);}return result;}})(jQuery); //传入jQuery对象
</script>

jQuery中的插件机制相关推荐

  1. jQuery中的事件机制深入浅出

    昨天呢,我们大家一起分享了jQuery中的样式选择器,那么今天我们就来看一下jQuery中的事件机制,其实,jQuery中的事件机制与JavaScript中的事件机制区别是不大的,只是,JavaScr ...

  2. jQuery中的事件机制与DOM操作

    jQuery事件机制 jQuery的事件机制,指的是jQuery对JavaScript操作DOM事件的封装,包括了:事件绑定.事件解绑.事件触发. 下面我们先来回顾一下事件的几种类型. 事件 描述 c ...

  3. Jquery中日期插件jquery.datepick的使用

    jsp的代码: 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 p ...

  4. ajax时间控件,带有ajax的JQuery中的插件datetimepicker出错

    我尝试这样做,禁用所有日期并启用我通过参数传递的日期 这段代码不起作用 $.ajax({ method: "GET", url: "url", }) .succ ...

  5. JQuery源码分析 - 闭包机制在jQuery中的使用及冲突解决

    jQuery中的闭包机制 本系列中我们将基于jquery3.5.1版本对jQuery源码进行分析,分析以源码加注释的方式展示. 本节中将分析jQuery源码中的 14 ~ 40行:自执行函数定义.环境 ...

  6. c++插件化 NDD源码的插件机制实现解析

    插件机制是一种框架,允许开发人员简单地在应用程序中添加或扩展功能.它使广泛使用,因为它可以作为模块被重复使用,并使它们更易于维护和扩展,因此它们在应用程序中非常有用.插件机制允许管理员在需要时轻松安装 ...

  7. web app中常用插件(zepto--用法类似于jquery、利用nodejs定制zepto)

    1.移动端开发不用jquery的原因 jquery使用的优点中很大一个原因是解决了js的兼容性,但是在移动端开发中移动端的浏览器都很新进的浏览器,他的兼容性问题不需要jquery,所以不用考虑兼容性, ...

  8. html中剪切图片所用插件,简单功能强大的jQuery图片剪裁插件Image Cropper

    插件描述:相信很多朋友都在大型的网站,如新浪微博.QQ微博上看到过头像裁图工具,感觉很高大尚吧,今天朋友们有福了,今天就来说一说一款这么高大尚的插件cropper,cropper是一款使用简单且功能强 ...

  9. PHP中插件机制的一种实现方案

    插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候激活它,不需要它的时候禁用/删除它:且无 论是激活还是禁用都不影响系统核心模块的运行,也就是说插 ...

最新文章

  1. 程序人生之回顾大学前两年----第一篇
  2. 转向AIOps之前,你应该做好哪些准备?
  3. linux socket默认超时时间设置,Socket中如何设置连接超时 (转)
  4. 物联网现状及落地难点
  5. Android笔记 采用async http 框架 提交数据到服务器demo
  6. 重磅福利!程序员面试——算法工程师面试大全第六部分
  7. python优秀源码新闻系统_[内附完整源码和文档] 基于python的新闻检索系统
  8. 时间序列-LSTM长期预测
  9. 虎牙直播源解析【可选清晰度】
  10. 华为ENSP远程登录
  11. GAMIT处理GLONASS数据
  12. FZOJ P2109 【卡德加的兔子】
  13. 手机ping软件测试网速,网速测试 - wifi测网速,网络ping test
  14. 如何一键重装电脑系统?在家里用电脑重装win10系统步骤
  15. 1867最短路径问题(SPFA)
  16. 国产电动汽车与特斯拉差多少?
  17. 李宏毅Transformer
  18. 异构计算实验——CUDA计算矩阵幂
  19. turtle小乌龟画笔
  20. 一杯睡前牛奶,会不会让年轻人的失眠有尽头?

热门文章

  1. Python全栈Day 15部分知识点
  2. 在DataTable中更新、删除数据
  3. js 获取URL后面的参数
  4. Win32 API消息函数:GetMessagePos
  5. 日期NSDate的使用
  6. CBitmapButton的使用(转)
  7. IPV6的设置问题!
  8. PHP中魔术方法的用法
  9. 负载均衡,会话保持,session同步
  10. HTTP头信息中的参数Etag