$.extent()的理解
$.extend()主要是用来扩展插件的,所谓的插件就是封装好的函数或者方法,可以直接调用。
$.extend()与$.fn.extend()(或者写成$.prototype.extend()或者jquery.prototype.extend())这两个好像,但又不一样,主要区别在哪里呢,区别在于前者是对jQuery类的一个封装,可以把jQuery看成一个类;而后者是经过实例化进行调用实例化的函数。
举个例子:
写个简单的求最大值或者最小值的插件:
首先看$.extend(),
$.extend({
max:function(a,b){
return a>b?a:b;
},{
min:function(a,b){
return a<b?b:a;
})
这里就可以直接调用:$.max(2,3)//3
再看$.fn.extend():
$.fn.extend({
alertWhileClick: function() {
$(this).click(function() {
alert($(this).val());
});
}
});
//$("#input1")是jQuery的实例,调用这个扩展方法
$("#input1").alertWhileClick();
另外,$.extend(obj1,obj2)这种写法是将obj2中与obj1中相一样的属性进行覆盖,并且添加obj1中没有的属性,如果obj1中有某个属性而obj2中没有,那么最后在替换后的obj1中也会保持存在,extend这个单词就是扩展的意思,也就是obj2里的是用来更新obj1的内容的。
举个综合例子:
<div value='100' id="content" style="width: 100px;height: 100px;border: 1px solid green;" ></div>
<script type="text/javascript">
(function($){
$.fn.extend({//这里加个大括号说明这里是个对象,那用jq实例化之后直接像调用object一样去调用函数就可以了。
'setColor':function(option){
var defult={
background:'green'
}
$.extend(true, defult, option);
$(this).css('background',defult.background);
}
})
$('#content').setColor()//默认绿色
$('#content').setColor({background:'red'})//红色
})
</script>
参考:http://www.cnblogs.com/yuqingfamily/p/5775950.html
随机推荐
- CSS3 loading 和 文字颜色渐变
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Oracle中的执行计划
使用autotrace sqlplus系统参数:SQL> set autotrace trace onSQL> select * from dual;DUM---XExecution Pl ...
- hibernate 离线查询(DetachedCriteria)
离线查询使用DetachedCriteria对象设置限制条件,然后再通过session获取Criteria对象. 使用场景: 例如Biz类和Dao类,在Dao类中利用session操作CRUD,如果你 ...
- 第一天 初识Python
Python基础 一 编程语言 什么是编程语言? 上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质.在编程的世界里,计算机更像是人 ...
- SQL Server错误: 0 解决方案
1.已设置两种登录模式. 2.SQL Server配置管理器已配置好. 按Windows徽标键+R组合键,然后输入cmd. 再然后输入netsh winsock reset.接下来重启电脑,应该就可以 ...
- 第1节 MapReduce入门:11、mapreduce程序的入门-2
1.5.WordCount示例编写 1.JobMain.java类 package cn.itcast.wordcount; import org.apache.hadoop.conf.Configu ...
- note for git
1.download https://git-for-windows.github.io/ 2.command add file to git: git add filename & git ...
- JAVA基础——生产者消费者问题
1.生产者消费者问题:经典案例 生产者和消费者问题是操作系统的经典问题,在实际工作中也常会用到,主要的难点在于协调生产者和消费者,因为生产者的个数和消费者的个数不确定,而生产者的生成速度与消费者的消费 ...
- super(Student,self).__init__()初始化的是什么东西?
继承不是为了继承里面原来的属性和值么,不初始化的话,会有什么问题? 2015-04-04源自:python进阶 5-17642 浏览2 回答 最佳回答 2015-05-05 1 super(Stude ...
- bzoj1174 Toponyms
给你一个字符集合,你从其中找出一些字符串出来. 希望你找出来的这些字符串的最长公共前缀*字符串的总个数最大化. 第一行给出数字N.N在[2,1000000] 下面N行描述这些字符串,长度不超过2000 ...