jQuery中的插件机制
我们在很多地方都用过插件,插件能让我们操作某个东西变得异常方便,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>
相关文章:

ActiveRecordBase借助NHibernate的条件获取实体类对象
ActiveRecordBase.FindAll() 函数其中有一个这样的版本的参数ActiveRecordBase.FindAll(TargetType AsSystem.Type,Orders() AsNHibernate.Expression.Order,ParamArraycriterias() AsNHibernate.Expression.ICriteriion) 可以方便的使用NHibernate的条件查询,例如…

轻量级持久层V2版本代码与模板
首页列表上好像不能下载,要下载文件请进来下。 上篇帖《轻量级持久层的讨论》中大家踊跃的提出各种意见,让我得到不少灵感,这些新的想法将会应用到下一个版本的开发中,我先得试试可行性如何。这里先给出这一版本的代码和模板&…

最近用到的一些方法技巧
郁闷,msn上不去,没法干活。记上最近项目中用到的一些code snippet1.查询今天的记录select datediff(dd,ConvDateTime,getdate()),* from dbo.rbConversationMaster where datediff(dd,ConvDateTime,getdate())0 DataDiff Returns the number of date and…

MyBatis的使用
要了解MyBatis的使用,首先要了解MyBatis是因何而来的?为了和数据库进行交互,通常的做法是将SQL语句写在Java代码里,然后生成class文件,而我们知道class文件是无法修改的。假如后来我们只想改变一下SQL语句,…
iOS7系统iLEX RAT冬青鼠安装教程:无需刷机还原纯净越狱系统
全网科技 温馨提醒:iLEX RAT和Semi-Restore的作用都是让你的已越狱的设备恢复至越狱的初始状态。可是要注意无论你是用iLexRAT冬青鼠还是Semi-restore。对于还原来说都存在巨大的风险。非必要情况下,还是不要任意使用它们。*iLEX RAT冬青鼠安装教程&…

HDU 4832(DP+计数问题)
HDU 4832 Chess 思路:把行列的情况分别dp求出来,然后枚举行用几行。竖用几行,然后相乘累加起来就是答案 代码: #include <stdio.h> #include <string.h> #include <iostream> using namespace std;typedef long…

社会生活中常用的14条著名法则
一、 马太效应 八、 水桶定律 二、 手表定理 九、 蘑菇管理三、 不值得定律 十、 奥卡姆剃刀定律四、 彼得原理 十一、 二八定律五、 零和游戏原理 十二、 钱的问题六、 华盛顿合作…

Spring框架之(无参、有参)构造方法与setter方法的初始化
我们之前要创建对象时,都需要new一下,但使用了Spring后,就不需要再new了,可以直接使用类名调用了。这是因为Spring 已经为我们自动创建好了Java对象(但需要在xml文件里进行一些配置)。 举个例子看看吧&…

P1034 矩形覆盖
题目描述 在平面上有 n 个点(n < 50),每个点用一对整数坐标表示。例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2&a…

[linux][c语言]用socket实现简单的服务器客户端交互
Socket解释: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP…

Spring之注解方式实例化Java类
我们知道一个<bean></bean>就代表一个对象,如果想创建多个对象,就要使用多个<bean></bean>,所以这里有个简便的方法: <context:component-scan base-package"com.jd"></context:comp…

3.Linux Shell流程控制
1.if/else结构 if condition thenstatements elif condition thenstatements elsestatements fi 2.条件 与C语言不同的是,条件(condition)实际上是语句列表,而不是一般的布尔表达式。 按照惯例,函数以及命令的退出状态用0表示成功,…

ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型
ASP.NET 2.0 中增加了内建的 MasterPage 的支持,这对我们来说是一个很大的便利。然而经过一段时间的使用,我发现 MasterPage 并不是那么完美:嵌套的 MasterPage 不能支持设计时界面,以及下面要提到的Content Page 中增加 CSS 的问…

详细说明Spring--AOP
这篇博客较长,耐心读完或许会有“柳暗花明又一村”的感觉哦! 为什么? 我先不说AOP是什么,我先说说为什么要用AOP,依照惯例,我还是先举一个例子: 先把项目结构展现出来: 我们先在com.jd.calcu…

ES6中的Promise详解
Promise 在 JavaScript 中很早就有各种的开源实现,ES6 将其纳入了官方标准,提供了原生 api 支持,使用更加便捷。 定义 Promise 是一个对象,它用来标识 JavaScript 中异步操作的状态(pending, resolve, rejectÿ…

Jquery 将表单序列化为Json对象
大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法。不过,我们可以写一个插件实现。 我在网上看到有人用替换的方法,先用serialize序列化后,将&替换成…

ASP.NET常用函数
Abs(number) 取得数值的绝对值。 Asc(String) 取得字符串表达式的第一个字符ASCII 码。 Atn(number) 取得一个角度的反正切值。 CallByName (object, procname, usecalltype,[args()]) 执行一个对象的方法、设定或传回对象的属性。 CBool(expression) 转换表达式为Boolean …

简单快速修改大量重复代码(Intellij IDEA)
血与泪的教训啊!!!刚开始不知道,一味地疯狂点鼠标和键盘,点到手抽筋才想起来百度一下如何快速修改大量重复代码,呜呜呜~~~ 给大家分享一下吧,可以节约大家大量的时间哦: …

5.3Role和Claims授权「深入浅出ASP.NET Core系列」
5.3Role和Claims授权「深入浅出ASP.NET Core系列」 原文:5.3Role和Claims授权「深入浅出ASP.NET Core系列」希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错&…

電子商務新紀元-WebService With BizSnap
電子商務新紀元-WebService With BizSnap WebService SOAP(Simple Object Access Protocol) Web Services Description Language (WSDL) DELPHI 的SOAP 撰寫WebService Server 程式 撰寫Client 端程式 魔法的秘密 傳送複雜型態資料(Complex Type) 傳送檔案或圖形 處理資料庫 C…

mysql优化1
1.以空间换时间,减少连表查询的次数,适当增加冗余字段 例如: 计算的字段,可以事先统计完,方数据库中,来一个加一个,而不用现场计算 2.字段类型: 整型 > date,time >enum >char >varchar >blob,text 字符串需要考虑字符集和校对集,因此比整型慢 time会考虑时期,用…

用XP做服务器突破10人限制
用XP做服务器突破10人限制用微软提供的小工具 MetaEdit,最新版本是2.2。下载地址:http://download.microsoft.com/download/iis50/Utility/5.0/NT45/EN-US/MtaEdt22.exe安装好以后将树型目录展开至LM \ W3SVC直接在W3SVC文件夹上单击,选择右边列表中Name…

Java反射(详述版)
一、什么是反射? 我们先来看一个例子: package venus; public class Student {public String name;public Student(){System.out.println("无参构造方法");}public void doHomework(){System.out.println(name "正在做作业~~~");…

s9.16作业,员工信息表
转载https://blog.csdn.net/qq_35883464/article/details/83151464 实现员工信息表文件存储格式如下:id,name,age,phone,job1,Alex,22,13651054608,IT2,Egon,23,13304320533,Tearcher3,nezha,25,1333235322,IT 现在需要…

Dubbo+zookeeper使用方法以及注意事项
Dubbozookeeper使用方法以及注意事项最近在一个项目中想做一个数据库查询的服务,目的是将数据库查询这块从程序中脱离出来,形成一个公共的服务平台,大家都可以调用,经过考虑决定选用Dubbozookeeper这个经典的组合来实现࿰…

淘淘经受了一次考验...
18日去香港给一个潜在客户做了一次演示,顺便帮淘淘买了一罐奶粉,因为听说香港的奶粉质量比较好,是原装进口的。下午6点多回到深圳,没想到,听到一个不太好的消息。淘淘的奶奶推车带淘淘出去的时候,不小心&am…

使用MasterPage遇到的问题
最近重新拿起.NET,发现一切变的那么的陌生了,发展得真是快啊。。。在使用MasterPage时,要从一个页面的Form提交数据到另一个页面的Form,应该如何处理?不使用MasterPage的时候,可以直接使用PostBackUrl"…

Machine Learning——DAY1
监督学习:分类和回归 非监督学习:聚类和非聚类 1.分类和聚类的区别: 分类(Categorization or Classification)就是按照某种标准给对象贴标签(label),再根据标签来区分归类。 聚类是指事先没有“标签”而通过某种成团分析找出事物之…

Java的注解
一、注解的概念: 注解并不是一开始就有的,JDK5之前是没有注解的,JDK5及其以后JDK版本才开始支持Java注解! Java注解(Annotation)也叫做元数据,以注解名在代码中存在,它是一种在源代码…

activemq的学习,第一篇
本地的activemq的地址: http://localhost:8161/admin/ win10的启动avtivemq E:\Program Files\ActiveMQ\apache-activemq-5.15.3\bin\win64 win64里面的activemq.bat 消息队列的学习 学习地址2 这是spring集合activemq的地址:github pom.xml引入的依赖&a…