在 jQuery 中,fn 其实就是 JavaScript 中 propotype 的一个别名,$ 是 jQuery 的别名,所以
$.fn.pluginName 等同于 jQuery.prototype.pluginName
$.fn.pluginName 表示创建一个 jQuery 的属性,通俗的说是写一个 jQuery 函数
pluginName 才是函数名
实例
$.fn.setRedText = function() {
return $(this).css("color", "red");
};
$("p").setRedText();
jquery 中$.fn是什么意思
$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。
如扩展$.fn.abc()
那么你可以这样子:$("#div").abc();
通常使用$.extend()方法扩展.
jQuery为开发者开发插件提供了两个方法,分别是:
jquery.extend(object);为扩展jquery类本身.为类添加新的方法
jquery.fn.extend(object);给jquery对象添加方法
$.fn是什么东西呢。查看jQuery代码,就不难发现。
jQuery.fn = jQuery.prototype = {
init: function( selector, context ) {//....
};
jquery.fn = jquery.prototype
jquery本身就是一个封装得很好的类,比如我们用语句 $("div")会生成一个jquery类的实例。
jquery.extend(object);为jquery类添加类方法,可以理解为添加静态方法。