您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年09月24日 07:06

原创 jQuery.fn.extend() 函数详解

111 次浏览 读完需要≈ 6 分钟

内容目录

jQuery.fn.extend()函数用于为jQuery扩展一个或多个实例属性和方法(主要用于扩展方法)

jQuery.fn是jQuery的原型对象,其extend()方法用于为jQuery的原型添加新的属性和方法。这些方法可以在jQuery实例对象上调用。

该函数属于jQuery的原型对象(jQuery.fn)。

语法

jQuery 1.0 新增静态函数

jQuery.fn.extend( object )

参数

参数 描述
object Object类型指定的对象,该对象的每个属性都将被复制到jQuery的原型对象上,从而提供新的jQuery实例方法。

返回值

jQuery.fn.extend()函数的返回值是Object类型,返回jQuery的原型对象(即jQuery.fn)。

示例&说明

请先参考以下HTML示例代码:

姓名:<input id="name" name="name" type="text" >
<br>
<input name="opt" type="checkbox" value="A">A
<input name="opt" type="checkbox" value="B">B
<input name="opt" type="checkbox" value="C">C
<input name="opt" type="checkbox" value="D">D
<br>
<input id="btn" type="button" value="点击">

jQuery.fn.extend()函数的jQuery示例代码如下:

var obj = {
	site: "CodePlayer",
	check: function(){
		// 扩展到jQuery原型上后,这里的this表示当前jQuery对象
		this.prop("checked", true);
		return this;
	},
	isEmpty: function(){
		return !$.trim( this.val() );
	}
};

// 将对象obj的属性和方法扩展到jQuery的原型对象上,以便于jQuery实例对象调用。
$.fn.extend( obj );


$("#btn").click(function(){
	if( $("#name").isEmpty() ){
		alert("姓名不能为空!");
		return false;
	}
	$("[name=opt]").check( ); // 全选复选框
	
	alert( $("body").site ); // CodePlayer
});

运行代码

实际上,如果你也可以在jQuery的原型上自行添加新的属性或方法,例如上面的扩展代码等价于:

$.fn.site = "CodePlayer";

$.fn.check = function(){
	// 扩展到jQuery原型上后,这里的this表示当前jQuery对象
	this.prop("checked", true);
	return this;
};

$.fn.isEmpty = function(){
    return !$.trim( this.val() );
};
  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单