HTML中data的属性
来源:互联网 发布:直播免费刷人气软件 编辑:程序博客网 时间:2024/05/29 16:45
原文:All You Need to Know About the HTML5 Data Attribute
译文:你必须知道HTML 5 的Data属性
译者:dwqs
HTML 5的Data属性可以让你给元素自定义数据。这篇文章就是思考怎么更好的使用Data属性。
介绍
HTML 5之前,我们必须依赖于class和rel属性来存储需要在网站中使用的数据片段,这种做法有时会在网站的外观和实用性之间产生冲突。而HTML 5 Data属性的存在就能很好满足需要。
随着网站自身的数据越来越多,一些特定的元素也开始保存数据了。比如,要创建一个audio应用,代码如下:
<audio controls="controls"> <source src="track1.mp3" type="audio/mpeg" /></audio>
上面的代码是完全能够接受的,但是有时我们需要保存时长、速度和作者等更多关于音频本身的信息,而不是音频来源。这就需要用到Data属性了,示例如下:
<audio controls="controls"> <source src="track1.mp3" type="audio/mpeg" data-duration="1min5secs" data-tempo="125bpm" data-artist="The Beatles" /></audio>
通过这些自定义的Data属性,就能够对audio执行搜寻、过滤以及分组等动作。
怎么使用Data属性
自定义的Data属性的名字必须以data-开头,并且连字号后面至少要有一个符合HTML规范的字符。(HTML naming convention.)
W3C文档对Data属性的说明如下:
Custom data attributes are intended to store custom data private to the page or application, for which there are no more appropriate attributes or elements.
这也意味着我们只能在应用程序内部使用data数据,而不应该将它呈现给用户。更重要的是你可以给元素自定义任何数量的Data属性,并赋予任何有意义的值。
什么时候需要使用Data属性?
通过上面的讲述,已经知道怎么使用Data属性了。但为了更好地了解这个属性,再看几个例子。
在Tuts+的Webdesign板块已经有了很好地、关于使用data属性的例子。One of the tuts,将Data属性运用到样式中,让菜单有一个“气泡”通知效果。在这个示例中,data属性被用于只想气泡通知的值。
<a href="#" class="pink" data-bubble="2">Profile</a>
另外一个示例:quick tip,Data属性作为提示信息是怎么被用于提示框的
<a href="#" class="tooltip" data-tip="this is the tip!">This is the link</a>
<span data-time="20:00">8pm<span>
因为在一个表示时间的元素中,已经有一个datetime属性了:
<time datetime="20:00">8pm</time>
同时,Data属性不应该被用作一个可替代的元数据或者微格式。微格式主要是为人类设计的、用于介绍上下文信息的。比如,如果你有一张关于个人或者某个组织联系信息的Vcard,你应该赋予一个名为vcard的class属性,让机器明白它包含了一些联系的信息。
利用微格式的代码如下:
<div class="vcard"> <span class="fn " >Aaron Lumsden</span></div>
相反,利用Data属性的代码如下:
<div class="vcard"> <span data-name="Aaron Lumsden " >Aaron Lumsden</span></div>
了解更多关于微格式的信息:Mircorformats.org.
在CSS中使用Data属性
既然在HTML标记中实现了Data属性,那么也可以在CSS中使用这个属性了。注意:尽管在某些情况下更适合直接使用Data属性,那也不应该对任何样式规则直接使用该属性。简单的使用如下:
[data-role="page"] { /* Styles */}
在JQuery中使用Data属性
在JQuery中怎么使用Data属性呢?JQuery提供了很多种从元素获取数据的方式。例如,像下面这样:
<a href="http://www.google.com" class="button" data-info="The worlds most popular search engine">Google</a>
如果有一个和上面类似的锚文本标记,有一个名为data-info的data属性,利用下面的方式,可以获取任何一个属性,包括data-info
$('.button').click(function(e) { e.preventDefault(); thisdata = $(this).attr('data-info'); console.log(thisdata); });
原文首发:http://www.ido321.com/1304.html
- HTML中data的属性
- html data-*自定义属性的
- html、HTML 5 的data-* 自定义属性
- html中data-uri和data-href的属性有什么作用
- HTML 5 的data-* 自定义属性
- HTML 5 的data-* 自定义属性
- HTML 5 的data-* 自定义属性
- HTML 5 的data-* 自定义属性
- HTML data-*属性的使用思路
- HTML 5 的data-* 自定义属性
- HTML 5 的data-* 自定义属性
- HTML data-* 属性
- HTML全局属性data-
- HTML data-*属性
- HTML data-*自定义属性
- html属性-data-*自定义属性
- HTML5 [data-]属性——使用HTML标签的data属性初始化JS组件
- html中select的属性
- 并查集和最小生成树的总结
- 数据结构学习:单向链表的模板类实现
- Easy 6 Merge Two Sorted Lists(21)
- bootstrap的less源码学习之button组件控制
- Grunt教程-前端自动化
- HTML中data的属性
- 计算机网络中传输速率 带宽 吞吐量三者的区别
- 大盗阿福
- BZOJ 1260: [CQOI2007]涂色paint 区间DP
- Harmonic Number
- selenium+java+testng分层设计(二)
- C++智能指针(三)总结
- android应用安装失败
- 【CSS+HTML】大杂烩