jQuery原型对象的方法 & 静态方法 & 插件

常用jQuery原型对象的方法

1. css(attr[,val]): 获取/改变元素style属性(内联样式)

  • 取值:css(attr), css([‘color’,’text-align’]) <==> getComputedStyle[attr]
  • 赋值:css(attr,val), css({attr:val});

2. val(v): 获取/设置匹配表单元素的值(等同于原生js中的value属性)

  • 取值:
    input.val()
  • 赋值:
    input.val(v)
       v:字符串
       v:数组(一般用于单选/复选框的勾选)
       v:函数function(idx,val){ return 值}  //函数内部一定要返回值

3. html(): (等同于原生js中的innerHTML)
   取值div.html():取得第一个匹配元素的html内容
   赋值div.html(‘:’):设置匹配元素的内容

4. text(): 取得所有匹配元素的文本内容

5. addClass() / removeClass(): 添加/删除类,支持多个类同时添加或删除

  • toggleClass(): 如果存在(不存在)就删除(添加)类。
  • hasClass(‘con’):判断当前元素是否包含con这个类,返回布尔值(不支持多个类进行判断)

6. eq(n) 获取第N个jquery对象(元素),n支持负数(表示从后面查找)

7. index():获取当前元素在同辈元素中的索引值

  • $(this).index()

8. 显示/隐藏

  • show():显示元素
  • hide():隐藏元素
     带参数:同时改变width,height,opacity的动画

9. is(expr|obj|ele|fn)

  • 根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,其中如果有一个元素符合这个给定的选择器表达式就返回true。如果没有元素符合,或者表达式无效,都返回false

10. attr(name[,val]) 设置/获取html标签属性

11. prop(attr[,val]) 获取/设置DOM节点属性(一般修改布尔类型属性)

  • 获取:获取在匹配的元素集中的第一个元素的属性值。
  • 赋值:给集合中所有元素属性赋值
    val为函数
	$(':checkbox').prop('checked',function(idx,oldVal){
	    return !oldVal;
	}

12. each(function(idx,ele){})  //用于遍历jquery对象

  • return true;        // 跳过当前循环,进入下一个循环(等效原生js中得continue)
  • return false;       // 退出整个each循环(等效原生js中得break)

13. jquery大部分方法的共性:

  • 无参数时为取值,带参数时为赋值
  • 取值:取得第一个匹配元素的值
  • 赋值:设置所有匹配元素的值
  • 隐式迭代(隐式遍历):看不见的遍历,大部分的jquery方法都支持隐式迭代

常用jQuery静态方法

1. $.each(arr|obj,callback):通用遍历方法,用于遍历对象和数组。

  • callback(idx,item)

2. $.map(arr|obj,callback)

  • 根据现有数组生成一个新的数组,新数组的元素为callback内return的值
  • callback(item,idx)

3. $.type(n):检测参数n的数据类型

4. $.makeArray(obj) //将类数组对象转换为数组。

5. $.parseJSON(json) //接受一个JSON字符串,返回解析后的对象。类似原生js中的JSON.parse

6. $.inArray(value,array,[fromIndex])

  • 确定value在数组array中的位置,从0开始计数(如果没有找到则返回 -1 ),一般用于判断数组中是否包含某一字符。

7. serialize()/serializeArray() : 只能在form表单中使用,并且表单元素必须有name属性

插件

1. 了解插件
  (1) 什么是插件
      插件(Plugin)也称为jQuery的扩展。以jQuery核心代码为基础编写的符合一定规范的应用程序。通过js文件的方式引用

  (2) 插件分类
     UI类、表单及验证类、输入类、特效类、Ajax类、滑动类、图形图像类、导航类、综合工具类、动画类等等

2. 使用插件
  (1) 引用插件的步骤
    ① 引入jQuery.js文件,必须在所有插件之前引入
    ② 引入插件
    ③ 引入插件相关文件,比如样式、语言等

3. 编写jQuery插件
(1) 插件形式分为3类

  • 封装对象方法插件,扩展原型对象方法
  • 封装全局函数插件(静态方法),如 . e a c h , .each, .map,$.makeArray…
  • 选择器插件(类似于.find())

(2) 自定义插件的规范(降低各种插件之间的冲突,减少错误机率)

  • 命名规范:jquery.插件名.js
  • 插件中的this应该指向jQuery实例
  • 使用this.each()迭代元素,为了实现多个调用
  • 插件内部必须返回jQuery实例(this),便于链式调用
  • 所有的对象法附加在jQuery.fn对象(jQuery.prototype)上面,所有静态附加在jQuery上
  • 所有的方法或插件必须用分号结尾,避免出问题,为了保证插件的安全性,也可以在插件开始的地方加分号
  • 避免插件内部的 j Q u e r y ( 冲突,请传递jQuery( 并不是总等于jQuery,另外其他js框架也可能使用$)

4. 编写插件常用方法
(1) $.extend([d],target,obj1,obj2,…,[objN])

  • 扩展对象或jQuery对象本身。用来扩展jQuery全局函数
  • 用obj1-objN对象来扩展target对象
  • 只有一个参数时,用来扩展jQuery全局函数:$.extend({‘hobby’:’撸串’})
 $.ajax,$.map,$.each
  • d:是否深拷贝,布尔类型(true,false)

(2) $.fn.extend() //扩展 jQuery元素集合提供新的方法(扩展jQuery原型对象,通常用来制作插件)

  $.fn.extend({
    xPopover(){},
    xAjax(){},
    xAjax(){},
    xAjax(){},
    xAjax(){}
  })

猜你喜欢

转载自blog.csdn.net/qq_42827425/article/details/88625725