在接触 Web前端开发的一段时间,有时会去看Google或者百度的源代码,有某些地方定义了 data-key ,这种语法

但是如果你直接去 Google data-keydata-item 可能又查不到这个属性,到底这是哪个属性呢?

通过查资料我发现,利用 HTML 5,可以为元素添加data-*,从而存储自定义信息。其中*是可以自定义的部分。例如:

<article id='tu' data-category="Web Development" data-author="1"> ... </article>

这也就是为什么去 Google data-sizedata-item 会找不到东西的原因,因为那是网页工程师自己定义出来的字词

既然我们存了这些自定义的数据属性,那么该怎么取这个值呢 ?

通过 JavaScript获取属性的值

通过 JavaScript 访问自定义的信息有两种方式:getAttribute()方法和dataset属性

getAttribute 方法

这就是经典的取得一个元素属性的方式,和以前一样。

document.getElementById('tu').getAttribute('data-category'); // "Web Development"

dataset 方法

这是 HTML 5 新增的方法,可以更方便的读取所有的 data 信息。

var article = document.getElementById('tu');
var data = article.dataset;
alert(data.category); // "Web Development"
alert(data.author); // 1

通过CSS获取属性的值

使用 attr

article::before {
content: attr(data-category);
}

使用属性选择器

article[data-author='1'] {
border-width: 1px;
}

合理的使用数据属性, 可以帮助我们在网页开发的时候更有效率或做出更多不同的效果

参考

最新文章

  1. win10下iis部署asp.net core rtm
  2. HTML 学习笔记 JavaScript(事件)
  3. Panel扩展 圆角边框,弧形边框
  4. dos下的edit命令使用详解
  5. 【HTTP】Speed and Mobility: An Approach for HTTP 2.0 to Make Mobile Apps and the Web Faster
  6. jQuery在on绑定事件时,使用Function.prototype.bind上下文,只能用off(event)解绑函数,否则可能导致事件叠加
  7. mysql c haracter
  8. Jquery基础之事件操作
  9. iOS8开发~Swift(一)入门
  10. 4)C语言指针(C自考学习)
  11. 【IOS 开发】Object - C 语法 之 流程控制
  12. UGUI之用ScrollRect做下拉刷新
  13. 06 python下
  14. CSS 小结笔记之BFC
  15. 如何去掉jQWidgets中TreeGrid和Grid右下角的链接
  16. CentOS的update-grub2命令
  17. PHP:第五章——字符串编码函数
  18. Python系列之 迭代器和生成器
  19. springboot 选择启动某个配置文件
  20. 解决 ORA-28001: the password has expired 问题

热门文章

  1. Oracle中truncate表不更新last_ddl_time列
  2. JVM源码分析之Java对象头实现
  3. 前端同学经常忽视的一个 JavaScript 面试题
  4. 免费馅饼——移动dp
  5. 状压DP之中国象棋
  6. USACO07 MAR Face The Right Way G
  7. Traffic Real Time Query System,题解
  8. Docker-教你如何通过 Docker 快速搭建各种测试环境
  9. js数组算法题01
  10. conda install 失败 http404