使用 data-* 属性来嵌入自定义数据
1. HTML 实例
<ul>
<li data-animal-type="bird">Owl</li>
<li data-animal-type="fish">Salmon</li>
<li data-animal-type="spider">Tarantula</li>
</ul>
2.浏览器支持
IE Firefox Chrome Safari Opera
支持 支持 支持 支持 支持
3.定义和用法
data-* 属性用于存储页面或应用程序的私有自定义数据。
data-* 属性赋予我们在所有 HTML 元素上嵌入自定义 data 属性的能力。
存储的(自定义)数据能够被页面的 JavaScript 中利用,以创建更好的用户体验(不进行 Ajax 调用或服务器端数据库查询)。
data-* 属性包括两部分:
属性名不应该包含任何大写字母,并且在前缀 "data-" 之后必须有至少一个字符
属性值可以是任意字符串
注释:用户代理会完全忽略前缀为 "data-" 的自定义属性。
语法
<element data-*="somevalue">
值描述
somevalue 规定属性的值(以字符串)。
4.外加信息
HTML 标签可以添加自定义属性来存储和操作数据。但这样做会导致 HTML 语法上不符合 HTML 规范。
HTML5 规范里增加了一个自定义 data 属性,自定义data属性的用法非常的简单,就可以往 HTML 标签上添加任意以 "data-"开头的属性。
这些属性页面上是不显示的,它不会影响到你的页面布局和风格,但它却是可读可写的。
下面的一个代码片段是一个有效的 HTML5 标记:
<div id="item" data-id='123'>11111</div>
可是,怎么来读取这些数据呢?你当然可以遍历页面元素来读取你想要的属性,但 jquery 已经内置了方法来操作这些属性。
使用 jQuery 的 .data() 方法来访问这些"data-*" 属性。其中一个方法就是 .data(obj),这个方法是在 jQuery1.4.3版本后出现的,它能返回相应的 data 属性。
举个例子,你可以用下面的写法读取 data-id 属性值--123:
var myid= jQuery("#item").data('id');
你还可以在"data-*" 属性里使用 json 语法,
<div id="item" data-id='{"game":"on"}'></div>
你可以通过 js 直接访问这个数据,通过 json 的 key 值,你能得到相应的 value:
var gameStatus= jQuery("#item").data('id').game;
你也可以通过 .data(key,value) 方法直接给"data-*" 属性赋值。
一个重要的你要注意的事情是,这些"data-*" 属性应该和它所在的元素有一定的关联,不要把它当成存放任意东西的存储工具。
尽管"data-*" 是 HTML5 才出现的属性,但 jquery 是通用的,所以,在非 HTML5 的页面或浏览器里,你仍然可以使用 .data(obj ) 方法来操作"data-*" 数据。
使用 data-* 属性来嵌入自定义数据的更多相关文章
- 使用 data-* 属性来嵌入自定义数据:
<!DOCTYPE html> <html> <head> <script> function showDetails(animal) { var an ...
- HTML data属性简介以及低版本浏览器兼容算法
实例 使用 data-* 属性来嵌入自定义数据: <ul> <li data-animal-type="bird">Owl</li> <l ...
- 【翻译】详解HTML5 自定义 Data 属性
原标题:HTML5 Custom Data Attributes (data-*) 你是否曾经使用 class 或 rel 来保存任意的元数据,只为了使你的JavaScript更简单?如果你回答是的, ...
- js(jQuery)获取自定义data属性的值
有时候因为需要在标签上设置自定义data属性值, <div class="col-sm-6 col-md-4" id="get_id" data-c_id ...
- 利用data属性来存json、和取数据还原json
data属性用JSON.stringify转化为字符串存进去,,,取出来自动会变成json数组的
- js获取自定义data属性
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- html 5实用特性之data属性
HTML 5之前,我们必须依赖于class和rel属性来存储需要在网站中使用的数据片段,这种做法有时会在网站的外观和实用性之间产生冲突.而HTML 5 Data属性的存在就能很好满足需要. HTML5 ...
- html5 data属性的使用
html5 data属性定义和用法 <ul> <li data-animal-type="bird">Owl</li> <li data- ...
- 《驾驭Core Data》 第三章 数据建模
本文由海水的味道编译整理,请勿转载,请勿用于商业用途. 当前版本号:0.1.2 第三章数据建模 Core Data栈配置好之后,接下来的工作就是设计对象图,在Core Data框架中,对象图被表 ...
随机推荐
- Java中静态类型检查是如何进行的
以下内容来自维基百科,关于静态类型检查和动态类型检查的解释: 静态类型检查:基于程序的源代码来验证类型安全的过程: 动态类型检查:在程序运行期间验证类型安全的过程: Java使用静态类型检查在编译期间 ...
- android 利用Path.cubicTo 画 贝塞尔曲线
Path.cubicTo void android.graphics.Path.cubicTo(float x1, float y1, float x2, float y2, float x3, fl ...
- iframe 的使用和登陆退出的实现——整个页面跳转
iframe中如果只是页面跳转的话,我们依然只是部分的加载的了,为了实现整个页面的所有内容跳转,下面提供了整个页面跳转的方法. iframe例子 1.总的iframe页面(访问就访问这个) all. ...
- 随笔:近期仍在流行的QQ盗号网页简析
前言:被盗号的人们,你们的防护意识有那么弱吗? 声明:本文提到的技术,仅可用作网络安全加固等合法正当目的.本文作者无法鉴别判断读者阅读本文的真实目的,敬请读者在本国法律所允许范围内阅读本文,读者一旦因 ...
- .Net程序员之Python基础教程学习----字符串的使用 [Second Day]
在The FirstDay 里面学习了列表的元组的使用,今天开始学习字符串的使用.字符串的使用主要要掌握,字符串的格式化(C语言中我们应该都知道,Python和C语言差别不大),字符串的基本 ...
- Android+Sqlite 实现古诗阅读应用(二)
传送门:Android+Sqlite 实现古诗阅读应用(一) Hi,又回来了,最近接到很多热情洋溢的小伙伴们的来信,吼开心哈,我会继续努力的=-=! 上回的东西我们做到了有个textview能随机选择 ...
- Object-C中self和super的区别
self与super的区别 原文CSDN evilotus 有所整理 **** 在ObjC中的类实现中经常看到这两个关键字"self"和"super",以以前o ...
- UVA 11817 Tunnelling the Earth --球面距离公式
题意: 给出两点的经纬度,求两点的球面距离与直线距离之差. 解法: 我们先算出球面距离,然后可以根据球面距离算出直线距离. 球面距离公式: R*acos(sin(W1)*sin(W2)+cos(W1) ...
- 云计算之路-阿里云上:RDS用户的烦恼
http://www.cnblogs.com/cmt/p/3586029.html *博主注:阿里云数据库真的这么可笑?
- 升级Flash Builder 4.6中的Flash Player版本
测试有效 本人按此方法升级到了flash player 15 Adobe自发布Flash Builder 4.6后,就暂停了Flash Builder新版本的发布.但AIR和FlashPlayer版本 ...