方法jQuery.access(elems,key, value,exec,fn(elem,key,value), pass) 可以为集合中的元素设置一个或多个属性值,或者读取第一个元素的属性值。如果设置的属性值是函数,并且参数exec是true时,还会执行函数并取其返回值作为属性值。
方法jQuery.access()为 .attr()、.prop() 、.css()提供支持,这三个方法在调用jQuery.access()时,参数exec为true, 参数fn是同时支持读取和设置属性的函数,如jQuery.attr()、jQuery.prop()、jQuery.css()
方法jQuery.access(elems,key, value,exec,fn(elem,key,value), pass) 代码分析如下:

access: function(elems, key, value, exec, fn, pass) {// 参数elems: 元素集合,通常是jQuery对象// 参数key: 属性名或含有键值对的 对象//参数value: 属性值或者函数。当参数为key为对象时候,该参数为undefined// exec: 布尔值,当属性值是函数时,该参数指示路是否执行函数// fn 回调函数,同时支持读取和设置属性// pass布尔值,该参数在功能上与参数exec重叠,并且用法相当繁琐,可以忽略var length = elems.length;// 如果参数key是对象,表示要设置多个属性,则遍历参数key,为每个属性递归调用方法jQuery.access(),遍历完后返回元素集合elemsif( typeof key === "object") {for (var k in key) {jQuery.access(elems, k, key[k], exec, fn, value);}return elems; }//设置一个属性值if (value !== undefined) {exec = !pass && exec && jQuery.isFunction(value);for (var i=0; i<length; i++) {fn(elems[i], key, exec ?value.call(elems[i]), i, fn( elems[i],key)) : value, pass);}return elems;}return length ? fn(elems[0], key) :undefined
}

JQuery源码笔记jQuery.access研究学习(13)相关推荐

  1. 深入学习jquery源码之jQuery的选择器引擎Sizzle(一)

    深入学习jquery源码之jQuery的选择器引擎Sizzle Sizzle是一个纯javascript CSS选择器引擎.jquery1.3开始使用sizzle,Sizzle一反传统采取了相反的Ri ...

  2. 2022年Python+大数据学习路线图,源码笔记,最优学习资源

    任何学习过程都需要一个科学合理的学习路线,才能够有条不紊的完成我们的学习目标.Python+大数据所需学习的内容纷繁复杂,难度较大,所以今天特别为大家整理了一个全面的Python+大数据学习路线图,帮 ...

  3. 2019最新妙味课堂jquery源码分析 jquery源码逐行分析全套

    视频教程一共58课有10+G,解析的jquery版本未2.0版[娘的,我现在都还在用1.8,他们13年就已经在用2.0了!看来我是落后了!].本视频学习的好处不比那些实战的差!具体自己去感悟! 下载地 ...

  4. {{jQuery源码分析}}jQuery对象初始化的多种传参数形式

    jQuery对象初始化的传参方式包括: 1.$(DOMElement) 2.$('<h1>...</h1>'), $('#id'), $('.class') 传入字符串, 这是 ...

  5. jquery 源码分析初步

    jquery 所有版本下载和引用地址 http://www.jq22.com/jquery-info122 一 jquery源码要点 jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作 ...

  6. jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理

    jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理 最近在看jquery源码分析的视频教学,希望将视频中学到的知识用博客记录下来,更希望对有同样对jquery源码有困惑 ...

  7. jQuery源码研究学习笔记(二)

    jQuery总体架构: jQuery模块可以大致分为三部分:入口模块.底层支持模块.功能模块. 参考jQuery技术内幕解析 jquery源码总体架构: (function(window,undefi ...

  8. jquery源码学习笔记三:jQuery工厂剖析

    jquery源码学习笔记二:jQuery工厂 jquery源码学习笔记一:总体结构 上两篇说过,query的核心是一个jQuery工厂.其代码如下 function( window, noGlobal ...

  9. Mr.J-- jQuery学习笔记(二十四)--剖析jQuery源码--extend

    定义和用法 jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象. 注意:1. 如果只为$.extend()指定了一个参数,则意味着参数target被省略.此时,target就 ...

最新文章

  1. 5G边缘计算与算力网络(PPT)
  2. Linux-0.00 代码解析(三)
  3. function checkBrowser()//判断浏览器
  4. 团队管理新思考_需要一个新的空间来思考讨论和行动
  5. “约见”面试官系列之常见面试题第三十八篇之js常见的继承方式(建议收藏)
  6. redis超时原因排查
  7. 简单而又完整的Makefile-转
  8. python做excel表格代码_python读写Excel表格的实例代码(简单实用)
  9. 手把手教你安装破解IAR For ARM 6.3
  10. 正则表达式之Matcher类中group方法
  11. excel 常用快捷键及小技巧
  12. 【破解手记】普利尼,破解手记[1]
  13. Error500错误的解决方法(俩种解决方法)
  14. 关于校外访问湖北经济学院校内图书馆资源的具体步骤
  15. 百度地图转换腾讯地图 php,用PHP实现腾讯地图和百度地图的相互转换范例
  16. LuaAuxLib 按键精灵lua库
  17. Codeforces Round #807 (Div. 2) A - D
  18. 2018 IROS,这款来自韩国的双臂机器人不容小觑!
  19. JS中字符串的创建、操作及其方法
  20. 历年茅台计算机招聘考试真题,2020贵州茅台招聘考试试题及答案(7)

热门文章

  1. 软件测试java三角形形状判定,软件测试技术基础实验——Junit 安装与 三角形问题的测试...
  2. 读取文件卡顿_奥睿科IV300固态硬盘评测:35克,读取超900M/s?
  3. Navicat Premium 安装
  4. vscode open in browser 默认浏览器
  5. 湖首大学计算机科学硕士申请,湖首大学王牌专业之一丨计算机科学专业
  6. Maven的基本应用
  7. JS-面向对象-原形对象链(自定义对象实例原形对象链 / 本地对象原形对象链)
  8. python 对redis key的基本操作
  9. Spark机器学习(3):保序回归算法
  10. 符合我公司GIS开源解决方案的探讨