properties

  properties 是 JavaScript 对象内在的属性,可以进行动态创建,修改等操作。

attributes

  指的是 DOM 元素标记出来的属性,不是实例对象的属性。

  例如:<img id="my-image" src="batter.png" title="This is an image" />,id、src、title 都是 img 元素的 attributes

[二者的区别]

  attributes 返回的值类型总是 string 字符串;

  properties 返回的值类型有 Booleans、numbers、objects

attr()

  

  示例,

<img id="my-image" src="butter.png" data-custorm="some value" />
$('#my-image').attr('data-custom');
$('[title]').attr('title', function(index, prevValue) {
    return prevValue + " " + index + " " + this.id;
});

$('input').attr({
    value: ' ',
    title: 'please enter a value'
});

 removeAttr()

  

prop() 与 attr()的方法相同,

  

使用 data() 方法给 jQuery() 对象设置一些缓存值,同时,也可以操作 DOM 元素标记中以“data-*”开头的属性。

  例如,<input id="mado" type="text" value="I'm a ..." data-level="foo" />

  可以使用 $("#mado").attr("data-level"); 获取值,

  也可以使用 $("#mado").data("level"); 获取值,此时的参数名称,可以去掉“data-”,jQuery 会自动识别。

  data()方法的底层解析过程,实际如下:

  

  可以使用 jQuery.data() 或者 $.data()方法保存一些全局的缓存数据,供后期使用。

    例如,$.data('daji', ['a', 'b', 'c']);

  比如,要给 ID 为 book 元素保存一个缓存值,那么可以如下:

    $.data(document.getElementById('book'), 'price', 10);

  如果要获取 book 元素的值,则:

    $("#book").data('price');

  data()的相关方法如下,

  

jQuery.hasData()

  检测元素的标签中是否定义了 “data-*” 属性? 或者是否通过 data() 方法给元素对象设置过自定义数据?

  

 

  

  

jQuery in action 3rd - Working with properties, attributes, and data的更多相关文章

  1. jQuery in action 3rd - Operating on a jQuery collection

    1.创建新 DOM 元素 $('<div>Hello</div>'); $('<img>', { src: 'images/little.bear.png', al ...

  2. jQuery in action 3rd - Selecting elements

    jQuery(selector) / $(selector) selector 选择器有多种形式,下面是 #ID,.class,element jQuery 支持的 CSS 层级关系选择器 jQuer ...

  3. jQuery in action 3rd - Introducing jQuery

    2014 年 10 月, jQuery Foundation 的总裁 Dave Methvin 发布了一篇博客(http://blog.jquery.com/2014/10/29/jquery-3-0 ...

  4. org.apache.jasper.JasperException: Expecting "jsp:param" standard action with "name" and "value" attributes

      jasper  英 ['dʒæspə]  美 ['dʒæspɚ] 跟读 口语练习 n. 碧玉:墨绿色 n. (Jasper)人名:(德)雅斯佩尔:(西)哈斯佩尔 JasperException 异 ...

  5. Expecting "jsp:param" standard action with "name" and "value" attributes错误

    错误信息如下: Servlet.service() for servlet [jsp] in context with path [/20161017] threw exception [/tag/s ...

  6. JQuery IN ACTION读书笔记之一: JQuery选择器

    本章关注两个通过$()使用的常用功能: 通过选择器选择DOM元素,创建新DOM元素. 2.1 选择操作元素 JQuery采用了CSS的语法,而CSS的语法你可能已经很熟悉了.当然,JQuery也做了扩 ...

  7. Expecting "jsp:param" standard action with "name" and "value" attributes

    浏览器访问报如下jsp标签错误: 根据提示,定位到jsp页面124行,代码如下: 查找原因,当<jsp:include></jsp:include>标签中没有参数时,不允许有空 ...

  8. jQuery源代码解析(1)—— jq基础、data缓存系统

    闲话 jquery 的源代码已经到了1.12.0版本号.据官网说1版本号和2版本号若无意外将不再更新,3版本号将做一个架构上大的调整.但预计能兼容IE6-8的.或许这已经是最后的样子了. 我学习jq的 ...

  9. Properties文件,Data,Calendar类的使用

    package cn.hncu.day9; import java.io.FileInputStream;import java.io.FileNotFoundException;import jav ...

随机推荐

  1. iOS开发app启动原理及视图和控制器的函数调用顺序

    main()函数是整个程序的入口,在程序启动之前,系统会调用exec()函数.在Unix中exec和system的不同在于,system是用shell来调用程序,相当于fork+exec+waitpi ...

  2. linux下redis的安装与部署及基础命令

    <1>下载安装文件:redis-3.2.5.tar.gz 放在opt目录下 <2> tar -zxvf redis-3.2.5.tar.gz,备份redis.conf到自己的目 ...

  3. CSS3 background-size 属性

    http://www.w3school.com.cn/cssref/pr_background-size.asp

  4. OpenGL ES crash notes 01 - Nice to meet you

    这篇笔记完全参照<OpenGL.ES.3.0.Programming.Guide.2nd.Edition>,摘出部分内容只为学习参考. 为什么要用英文:无论是D3D的SDK还是OES的Sp ...

  5. Versioned table in Netezza

    Problem One QC process need to obtain tables and their row counts in a database in Netezza. We use t ...

  6. NHibernate 映射失败 is not mapped

    1 区分大小写(实体类名) 2 MAP的XML设置为嵌入的资源 3 hibernate.cfg.xml配置添加map的程序集<mapping assembly="Model" ...

  7. SpringMVC框架搭建 基于注解

    本文将以一个很简单的案例实现 Springmvc框架的基于注解搭建,一下全为个人总结 ,如有错请大家指教!!!!!!!!! 第一步:创建一个动态web工程(在创建时 记得选上自动生成 web.xml ...

  8. 04-JAVA中的类和对象

    1. Foo对构造函数进行了重载,那么默认的构造函数就不会被使用,在主类中,定义对象的时候,引用构造函数,却没有参数,自然无法通过编译. 2. 当设定字段初始值在初始化块前面的时候, 很明显使用了前者 ...

  9. property

    一.property用法 property(fget=None, fset=None, fdel=None, doc=None) -> property attribute fget is a ...

  10. 【Leetcode-Mysql】Trips and Users

    思路不总结了,看过题目自己尝试过之后,看下方代码应该能理解的 SELECT Request_at AS DAY, round( sum( CASE WHEN STATUS = 'completed' ...