IT技术博客大学习 共学习 共进步

jQuery的data()方法

WEB前端开发 2013-07-07 21:49:46 浏览 8,503 次

在此之前,欢迎先阅读HTML 5 的data-* 自定义属性

如果你使用jQuery类库,那么你可以非常愉悦的使用jquery的data()方法存取data-*自定义属性,方法允许我们在DOM元素上绑定任意类型的数据,避免了循环引用的内存泄漏风险。主要的方法如下:

  • .data( key, value )

  • .data( obj )

  • .data( key )

  • .data()

从jQuery 1.4.3起, HTML 5 data- 属性 将自动被引用到jQuery的数据对象中。

例如HTML:

<div data-role="page"data-last-value="43"data-hidden="true"data-options='{"name":"John"}'></div>

下面的 jQuery代码都是返回 true 的:

$("div").data("role")==="page";
$("div").data("lastValue")===43;
$("div").data("hidden")===true;
$("div").data("options").name==="John";

和html5的api不同的是,jQuery会尝试将字符串转换为一个JavaScript值(包括布尔值(booleans),数字(numbers),对象(objects),数组(arrays)和空(null))。如果这样做不会改变数值的表示,那么该值将转换为一个数字(number)。例如,“1E02”和“100.000”是等同于数字(数字值100),但将转换它们会改变他们的表示,所以他们被保留为字符串。字符串值“100”被转换为数字100。

如果数据(data)属性是一个对象(以“{”开始)或数组(以’[‘开始),可以用jQuery.parseJSON 将其解析成字符串;它必须遵循有效的JSON的语法,包括带双引号的属性名称。如果该值不能解析为一个JavaScript值,它将被保留为字符串。

如果想将取出的属性值直接当作字符串的话,请使用attr()方法。

data-属性是在第一次使用这个数据属性后不再存取或改变(所有的数据值都在jQuery内部存储)。

调用 .data() 时如果不带参数,将会以 JavaScript 对象的形式获取所有数据。这个对象可以安全的存放在变量中,因为一旦这个新对象被提取出来,之后对元素进行的 .data(obj)操作,将不会再影响这个对象。另外,直接操作这个对象会比每次调用 .data() 来设置或获取值要快一些。

更多参阅:

http://www.css88.com/jqapi-1.9/data/

建议继续学习

  1. JQuery实现Excel表格呈现 (阅读 48,164)
  2. HTML 5 的data-* 自定义属性 (阅读 14,181)
  3. 分享一个JQUERY颜色选择插件 (阅读 14,062)
  4. jQuery插件---轻量级的弹出窗口wBox. (阅读 10,622)
  5. 10个强大的Ajax jQuery文件上传程序 (阅读 8,721)
  6. jQuery性能优化指南 (阅读 8,645)
  7. jQuery Color Animations颜色动画插件 (阅读 8,341)
  8. 精于图片处理的10款jQuery插件 (阅读 7,260)
  9. 配合jquery实现异步加载页面元素 (阅读 6,282)
  10. jQuery中getJSON跨域原理详解 (阅读 6,263)