资讯专栏INFORMATION COLUMN

HTML 5:你必须知道的data属性

ideaa / 1757人阅读

摘要:微格式主要是为人类设计的用于介绍上下文信息的。利用微格式的代码如下相反,利用属性的代码如下了解更多关于微格式的信息在中使用属性既然在标记中实现了属性,那么也可以在中使用这个属性了。

HTML 5的Data属性可以让你给元素自定义数据。这篇文章就是思考怎么更好的使用Data属性。

**介绍**

HTML 5之前,我们必须依赖于class和rel属性来存储需要在网站中使用的数据片段,这种做法有时会在网站的外观和实用性之间产生冲突。而HTML 5 Data属性的存在就能很好满足需要。

随着网站自身的数据越来越多,一些特定的元素也开始保存数据了。比如,要创建一个audio应用,代码如下:


上面的代码是完全能够接受的,但是有时我们需要保存时长、速度和作者等更多关于音频本身的信息,而不是音频来源。这就需要用到Data属性了,示例如下:


通过这些自定义的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属性被用于只想气泡通知的值。

Profile

另外一个示例:quick tip,Data属性作为提示信息是怎么被用于提示框的

This is the link

什么时候不该用Data属性?

当元素已经建立或者更适当的属性时,就不应该用Data属性了。在下面这个示例中运用data是不合适的:

8pm

因为在一个表示时间的元素中,已经有一个datetime属性了:


同时,Data属性不应该被用作一个可替代的元数据或者微格式。微格式主要是为人类设计的、用于介绍上下文信息的。比如,如果你有一张关于个人或者某个组织联系信息的Vcard,你应该赋予一个名为vcard的class属性,让机器明白它包含了一些联系的信息。

利用微格式的代码如下:

Aaron Lumsden

相反,利用Data属性的代码如下:

Aaron Lumsden

了解更多关于微格式的信息:Mircorformats.org.

在CSS中使用Data属性

既然在HTML标记中实现了Data属性,那么也可以在CSS中使用这个属性了。注意:尽管在某些情况下更适合直接使用Data属性,那也不应该对任何样式规则直接使用该属性。简单的使用如下:

[data-role="page"] {
  /* Styles */
}

在JQuery中使用Data属性

在JQuery中怎么使用Data属性呢?JQuery提供了很多种从元素获取数据的方式。例如,像下面这样:

Google

如果有一个和上面类似的锚文本标记,有一个名为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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/49559.html

相关文章

  • 前端面试之Html

    摘要:和是提供的,可用于请求之间保存数据。关闭窗口后,即被销毁。答当解析器遇到标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档。而的脚本不同,只要脚本下载完成,将会立即执行,未必会按照声明顺序执行。 1 . doctype(文档类型) 的作用是什么? ☆ 对文档进行有效性验证: 它告诉用户代理和校验器这个文档是按照什么DTD 写的。这个动作是被动的, 每次...

    IamDLY 评论0 收藏0
  • JS魔法堂:那些困扰DOM集合类型

    摘要:五的子类对象会返回一个集合对象,集合内存储类型的元素。七的子类初看很有可能以为集合元素就是单选表单元素,其实可以存储任意类型的表单元素。八的子类开始,将返回子类的对象,其行为特征和一致。但在前,我们应该先了解清楚的类型的特征。 一、前言                            大家先看看下面的js,猜猜结果会怎样吧! 可选答案: ①. 获取id属性值为id的节点元素 ②...

    468122151 评论0 收藏0
  • 后端开发者Vue学习之路(一)

    摘要:如果我们作为一个后端开发者想掌握一个前端框架,是一个好选择,因为它足够的易学。是语言的下一代标准。数据方法生命周期钩子函数其他有些内容比较重要,留到后面讲定义数据定义数据定义了数据,那么就可以在管理的区域中使用的获取数据的语法来获取数据。目录 前言: iview组件库示例 element组件库示例 ...

    番茄西红柿 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<