jquery遇到的问题

1.关于$.fn

$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。
如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了.

那么你可以这样子:$("#div").abc(); 

jQuery为开发插件提拱了两个方法,分别是:
  jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。   
  jQuery.fn.extend(object);给jQuery对象添加方法

2.匿名函数

{xxx:function(){...}} 的话,是定义对象的属性为某个函数,相当于类的方法。
类似于 var obj = new Obje而且XXX:function(){}这样的写法,必须在外边有{}时才能使用ct();
obj.xxx = function(){....};

3.为什么将jquery作为参数传递给匿名函数?

(function($){
            console.log($('.right').html());
        })(jQuery)
  • 如果不把jQuery当参数传递,则你使用变量jQuery/$的时候,首先会在函数体内查找,然后进fn查找,最后到window下查找。

  • 而你把jQuery传进去之后,则只需要在函数体内查找$即可。

4.jQuery里面的$("this")和$(this)有什么区别

  • $("this")是使用标签选择器,查找名为this的标签
  • $(this)取出当前对象并转换为jQuery对象,$(this)是jquery对象,能调用jquery的方法,例如click(), keyup()

 

原文地址:https://www.cnblogs.com/sjxbg/p/9901447.html