jQuery浅谈$.fn和jQuery.extend(object)和jQuery.fn.extend(object)的区别

$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。

如扩展$.fn.clickdown(),即$.fn.clickdown()是对jquery扩展了一个clickdown方法,那么后面你的每一个jquery实例都可以引用这个方法。

jQuery.fn =jQuery.prototype

$('#list').clickdown();

.jquery 属性是通过 jQuery 原型赋值的,通过使用它的别名 $.fn 进行引用。

它是一个含有 jQuery 版本号的字符串。例如"2.2.2"

console.log($.fn.jquery); // => 2.2.2

 

jQuery.extend(object)用来在jQuery命名空间上增加新函数。

jQuery.extend({
  min: function(a, b) { return a < b ? a : b; },
  max: function(a, b) { return a > b ? a : b; }
});

$.min(2,3); // => 2

$.max(5,6); // => 6 

 

 jQuery.fn.extend(object)扩展 jQuery 元素集来提供新的方法(通常用来制作插件)。

jQuery.fn.extend({
  check: function() {
    return this.each(function() { this.checked = true; });
  },
  uncheck: function() {
    return this.each(function() { this.checked = false; });
  }
});

$("input[type=checkbox]") .check();

$("input[type=radio]").uncheck();

 

jQuery.extend() 的调用并不会把方法扩展到对象的实例上,而 jQuery.fn.extend()的调用把方法扩展到了对象的prototype上,所以实例化一个jQuery对象的时候,它有了这些方法。

 

转载于:https://my.oschina.net/af666/blog/1504578

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值