下载了jQuery的UI组件,发现内容还挺多的,还是决定先把jQuery的源码看完一遍之后再涉足UI组件。考虑到队列和动画使用较少,特别是动画,基本开始使用css3完成。因此暂时略过,开始看jQuery对属性操作的处理。该部分大约500行代码,预计一周看完。

jQuery提供的属性操作方法有两种

1、挂载到jQuery对象上

  // 获取或设置属性值。当参数只有name时,获取jQuery集合中的第一个元素的name属性的值。

  // name和value都有时,为jQuery集合中的所有元素增加name属性,value为值的属性

  $(elem).attr(name, [value]);

  // 删除jQuery集合中所有元素上的name属性

  $(elem).removeAttr(name); 

  // 获取或设置属性值。当参数只有name时,获取jQuery集合中的第一个元素的name属性的值。

  // name和value都有时,为jQuery集合中的所有元素增加name属性,value为值的属性

  // 同attr的区别是当属性为checked等属性时,attr返回“checked”字符串,而prop返回true布尔值

  $(elem).prop(name, value);

  // 删除jQuery集合中所有元素上的name属性

  $(elem).removeProp(name);

  // 为jQuery集合中每个元素添加class

  $(elem).addClass(value);

  // 删除class,当有value参数时,删除jQuery集合中所有元素的为value的class,如果没有参数,则删除jQuery集合中所有元素的所有class

  $(elem).removeClass([value]);

  // 交替添加或删除class。当只有value参数时,有这个class就删除,没有就添加

  // 如果有两个参数时,第二个参数如果为true,则添加class,否则删除class

  $(elem).toggleClass(value, [stateVal]);

  // 判断元素上是否有某个class

  $(elem).hasClass(selector);

  // 得到或者获取元素的值(一般是表单元素),当有value参数时,为jQuery集合中每个元素设置value

  // 如果没有传入参数。则得到jQuery集合中第一个元素的值

  $(elem).val(value);

2、挂载在$上的属性和方法。(主要为第一种方法提供兼容性上的处理)

  $.valHooks 属性

  $.attr()

  $.removeAttr()

  $.attrHooks 属性

  $.propFix 属性

  $.prop()

  $.propHooks 属性

因为挂载到$上的方法提供基础处理,所以先看下挂载到$上的方法和属性

jQuery.extend({
    valHooks: {
        option: {

    // 处理获取option的value时,不同浏览器的兼容性(原生不熟悉,并不了解为什么做这样的处理)
            get: function( elem ) {
                var val = elem.attributes.value;
                return !val || val.specified ? elem.value : elem.text;
            }
        },
    },

attr: function( elem, name, value ) {},

removeAttr: function( elem, value ) {},

attrHooks: {},

propFix: {},

prop: function( elem, name, value ) {},

propHooks: {}
});

jQuery属性操作(一)的更多相关文章

  1. jquery——属性操作、特殊效果

    1. attr().prop() 取出或者设置某个属性的值 <!DOCTYPE html> <html lang="en"> <head> &l ...

  2. jQuery属性操作

    jQuery 的属性操作的核心部分其实就是对底层 getAttribute().setAttributes()等方法的一系列兼容性处理 ...if ( notxml ) { name = name.t ...

  3. jQuery源代码学习之八——jQuery属性操作模块

    一.jQuery属性模块整体介绍 jQuery的属性操作模块分四个部分:html属性操作,dom属性操作,类样式操作,和值操作. html属性操作(setAttribute/getAttribute) ...

  4. jQuery 属性操作和CSS 操作

    如有在jQuery方法中涉及到函数,此函数必定会返回一个数值(函数由于运行次数不同触发一些不同效果) jQuery 属性操作方法(以下方法前些日子学习过,不再赘述) addClass() attr() ...

  5. python全栈开发day48-jqurey自定义动画,jQuery属性操作,jQuery的文档操作,jQuery中的ajax

    一.昨日内容回顾 1.jQuery初识 1).使用jQuery而非JS的六大理由 2).jQuery对象和js对象转换 3).jQuery的两大特点 4).jQuery的入口函数三大写法 5).jQu ...

  6. jQuery属性操作(四)

    通过阅读jQuery为属性操作封装的基本方法和为处理兼容性问题提供的hooks,发现jQuery在属性操作方面并没有做过多的设计,只是处理一下兼容性问题,然后调用基础的DOM操作方法.以下是对JQue ...

  7. jQuery属性操作(二)

    挂载到$上的几个属性操作方法分析,发现属性操作用到了sizzle封装的方法 attr: function( elem, name, value ) {        var hooks, ret,   ...

  8. web前端----jQuery属性操作

    知识点总结 1.属性 属性(如果你的选择器选出了多个对象,那么默认只会返回出第一个属性). attr(属性名|属性值) - 一个参数是获取属性的值,两个参数是设置属性值 - 点击加载图片示例 remo ...

  9. Jquery属性操作(入门二)

    ********JQuery属性相关的操作******** 1.属性 属性(如果你的选择器选出了多个对象,那么默认只会返回出第一个属性). attr(属性名|属性值) - 一个参数是获取属性的值,两个 ...

随机推荐

  1. James Whittaker的软件測试戒律(二)

    摘录自<探索式软件測试>(注:作者模仿了圣经十诫的语气和内容编写了软件測试戒律) 1.汝应用大量输入重复锤炼汝之应用程序 2.汝应贪图汝之邻居的应用程序 3.汝应亲自寻找睿智的预言家 4. ...

  2. excel做回归分析的应用【风控数据分析】

    方法1     统计逻辑:统计一个loginname的所有去重的通讯录数C,统计这个Loginname对应的每个设备对应的通讯录c1,c2,c3…cn; X=(c1/c+c2/c+c3/c+….cn/ ...

  3. Android学习之——ListView下拉刷新

    背景知识 ListView使用非常广泛,对于使用ListView的应用来说,下拉刷新是必不可少要实现的功能. 我们常用的微博.网易新闻,搜狐新闻都使用了这一功能,如下图所示.     微博 搜狐新闻 ...

  4. Metropolis-Hastings算法

    (学习这部分内容大约需要1.5小时) 摘要 马尔科夫链蒙特卡洛(Markov chain Monte Carlo, MCMC)是一种近似采样算法, 它通过定义稳态分布为 \(p\) 的马尔科夫链, 在 ...

  5. [AX]AX2012 R2 HR Jobs, Positions, Department和Workers

    部门.作业(Job的官方翻译)和位置(Position的官方翻译)是AX人力资源管理的基本组织元素,Job和Position在AX有的地方又称作工作和职位,其实这个翻译更为恰当. Job定义的是一个工 ...

  6. ckeditor4.4.6添加代码高亮

    研究了很久才发现,在 ckeditor4.4.6中添加代码高亮超级简单啊,下面直接上过程 ckeditor4.4.6支持自定义代码高亮,利用Code Snippet插件并默认启用highlight.j ...

  7. Windows最全快捷键

    单独按Windows:显示或隐藏“开始”功能表 Windows+BREAK:显示“系统属性” 对话框 Windows+D:显示桌面 Windows+M:最小化所有窗口 Windows+Shift+M: ...

  8. 【Nodejs】npm cnpm 淘宝镜像

    一.通过命令配置 1. 命令 npm config set registry https://registry.npm.taobao.org 2. 验证命令 npm config get regist ...

  9. 【代码审计】iZhanCMS_v2.1 后台任意文件删除漏洞分析

      0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...

  10. Bypass X-WAF SQL注入防御(多姿势)

    0x00 前言 ​ X-WAF是一款适用中.小企业的云WAF系统,让中.小企业也可以非常方便地拥有自己的免费云WAF. ​ 本文从代码出发,一步步理解WAF的工作原理,多姿势进行WAF Bypass. ...