jQuery.fn.extend() 与 jQuery.extend()

时间:2022-04-24 05:53:34

jQuery.fn如何扩展。

jQuery插件 $.fn(object)与$.extend(object)

jQuery提供了两个方法帮助开发插件

  • $.extend(object);扩展jQuery类本身;
  • $.fn.extend(object);扩展jQuery对象;

一、$.fn

$.fn 等于 $.prototype;这样就好理解了,就好比对String.porotype增加一个函数,然后所有的字符串对象都能够直接调用,
jQuery也是如果。给jQuery增加一个函数,然后所有的jQuery对象都能够调用。jQuery对象就是$("#id")或

$(document.getElementById("Id"))这些;
在写法上可以
$.fn或$.fn.extend({})

<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<script> $.fn.clear = function(){
$(this).html(''); //写法一
} $.fn.extend({
clear:function(){
$(this).html(''); //写法二
}
}) $(function(){
$("#btn1").click(function(){
$("h1").clear();
}) })
</script>
</head>
<body> <h1>我的第一个 JavaScript 程序</h1>
<input type="button" id="btn1" value="确定" />
</body>
</html>

二、$.extend();

我们知道$就是jQuery对象。所以
$.extend其实就是扩展"jQuery"这个对象本身的函数。实际上相当于你创建了一个object对象,然后object.abc = function(){}

<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<script>
$.clear = function(obj){
obj.html(''); //写法一
} $.extend({
clear:function(obj){
obj.html(''); //写法二
}
}) $(function(){
$("#btn1").click(function(){
$.clear($("h1"));
})
})
</script>
</head>
<body> <h1>我的第一个 JavaScript 程序</h1>
<input type="button" id="btn1" value="确定" />
</body>
</html>