HTML5的data-*自定义属性是什么

HTML5的data-*自定义属性

html5增加了一项新功能是自定义数据属性,也就是data-*自定义属性。在html5中我们可以使用以data-为前缀来设置我们需要的自定义属性,来进行一些数据的存放。当然高级浏览器下可通过脚本进行定义和数据存取。在项目实践中非常有用。目前采取这样的做法的框架也有很多,最常见的当属jquerymobile。
具体使用方法例下:

登录后复制

在传统的做法中我们可以配合jquery使用,如下:

$("#head").attr("data-home");  $("#head").attr("data-home","new");

登录后复制

或者纯js做法:
在IE浏览器里,我们通过获取对象后直接调用就可以了

document.getElementById("head").["data-home"];  document.getElementById("head").["data-home"] = "new";

登录后复制

在火狐和谷歌浏览器里,我们可以通过getAttribute方法来实现调用:

document.getElementById("head").getAttribute("data-home");  document.getElementById("head").setAttribute("data-home","new");

登录后复制

在HTML5中的简洁操作方法:(dataset属性存取data-*自定义属性的值)
这种方式通过访问一个元素的 dataset 属性来存取 data-* 自定义属性的值。这个 dataset 属性是HTML5 JavaScript API的一部分,用来返回一个所有选择元素 data- 属性的DOMStringMap对象。
使用这种方法时,不是使用完整的属性名,如data-home来存取数据,应该去掉data-前缀。
还有一点特别注意的是:data-属性名如果包含了连字符,例如:data-date-of-birth ,连字符将被去掉,并转换为驼峰式的命名,前面的属性名转换后应该是:dateOfBirth。

立即学习“前端免费学习笔记(深入)”;

QQ群:135430763

   var el = document.querySelector('#head'); console.log(el.id); console.log(el.dataset);//一个DOMStringMap console.log(el.dataset.home); console.log(el.dataset.author); console.log(el.dataset.dateOfBirth); el.dataset.dateOfBirth = '1985-01-05'; // 设置data-date-of-birth的值. //判断属性 console.log('testAttr' in el.dataset);//false el.dataset.testAttr = 'testAttr'; console.log('testAttr' in el.dataset);//true

登录后复制

如果你想删掉一个 data-属性 ,可以这么做: delete el.dataset.home ;  或者 el.dataset.home = null;。
这样操作起来是不是非常的方便。但有些浏览器可能还不支持。所以在此期间最好用的getAttribute和setAttribute来操作或配合jquery进行使用。
data-属性选择器
在实际开发时,可以根据自定义的data-属性选择相关的元素。例如使用querySelectorAll选择元素:
//选择所有包含’data-p’属性的元素
document.querySelectorAll (‘[data-p]’) ;
//选择所有包含’data-a-href’ 属性值为red的元素
document.querySelectorAll (‘[data-a-href=”#”]’) ;
同样的我们也可以通过data-属性值对相应的元素设置CSS样式,例如下面这个例子:

      .head {           width : 256px ;           height : 200px ;       }      .head[data-a='btn-a'] {           color : brown      }      .head[data-a='btn-color'] {           color : red      }    

 button按钮 

  

 button按钮

登录后复制

以上就是HTML5的data-*自定义属性是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2909628.html

(0)
上一篇 2025年3月11日 04:23:49
下一篇 2025年3月11日 04:23:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • H5中如何获取和设置自定义属性

    给元素自定义属性是在HTML5中新加入的一个特性。简单来说,自定义数据属性规范规定任何以data-开头属性名并且赋值。自定义数据属性是为了保存页面或者应用程序的私有自定义数据,这些自定义数据属性保存进DOM中,对于整个DOM的布局和表现无任…

    编程技术 2025年3月11日
    100
  • html5在Canvas中实现自定义路径动画详解

    本篇文章主要介绍了html5如何在canvas中实现自定义路径动画示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在最近的项目中笔者需要做一个新需求:在canvas中实现自定义的路径动画。这里所谓的自定义路径不单单包括一条直线,也许…

    2025年3月11日
    200
  • html5 canvas中绘制字体与图片以及图形模糊问题解决

    html5 canvas 绘制字体、图片与图形模糊问题 发生情况 多出现在高dpi设备,这意味着每平方英寸有更多的像素,如手机,平板电脑。当然很多高端台式电脑也有高分辨率高dpi的显示器。   canvas在浏览器中的缩放原理 立即学习“前…

    编程技术 2025年3月11日
    200
  • Html5中内容安全策略(CSP)

    前言: Cordova不支持内联事件,所以点击事件必须提取到js里面.以下是从官网摘抄下来,希望对您有所帮助 登录后复制 为了缓解大量潜在的跨站点脚本问题,chrome的扩展系统已经纳入了内容安全策略(csp)的一般概念。 这引入了一些相当…

    编程技术 2025年3月11日
    200
  • h5头像图片旋转css3精确控制每个图片的位置

    h5头像图片旋转css3精确控制每个图片的位置: 1.下面是需要的效果图: 2.用到的图片有:                                         @@##@@                          …

    2025年3月11日 编程技术
    200
  • html5制作新增的定时器requestAnimationFrame实战进度条

    在requestanimationframe出现之前,我们一般都用settimeout和setinterval,那么html5为什么新增一个requestanimationframe,他的出现是为了解决什么问题? 优势与特点: 1)requ…

    2025年3月11日
    200
  • HTML5标签选择方法指引

    以上就是HTML5标签选择方法指引 的详细内容,更多请关注【创想鸟】其它相关文章!

    2025年3月11日
    200
  • html5开发中viewport进行屏幕适配

    随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛行,移动互联应用开发也越来越受到人们的重视,用html5开发移动应用是最好的选择。然而,每一款手机有不同的分辨率,不同屏幕大小,如何使我们开发出来的应用或页面大小…

    编程技术 2025年3月11日
    200
  • H5 语义化标签介绍

    H5新标签—-语义化标签 区别:1.默认样式不一样 2.有SEO优化作用 1、header,一般作为网页的头部使用 2、aside,侧边栏 3、nav,导航栏 4、address,地址,字体样式默认倾斜 标签定义文档或文章的作者…

    编程技术 2025年3月11日
    200
  • HTML5头部 meta介绍

    用于定义页面元信息,定义元信息也就是指定一些name-value对。该元素除了可以指定id属性外,还可以指定如下三个属性: http-equiv:指定元信息名称,该属性指定的名称具有特殊意义,它可以向浏览器传回一些有用的信息,帮助浏览器正确…

    编程技术 2025年3月11日
    200

发表回复

登录后才能评论