今天小编跟大家讲解下有关HTML5的自定义属性data-*详细介绍和JS操作实例 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML5的自定义属性data-*详细介绍和JS操作实例 的相关资料,希望小伙伴们看了有所帮助。

当然高级浏览器下可通过脚本进行定义和数据存取。在项目实践中非常有用。

例如:复制代码代码如下:

使用attribute方法存取 data-* 自定义属性的值

使用attributes方法存取 data-* 自定义属性的值非常方便:复制代码代码如下:

// 使用getAttribute获取 data- 属性

var user = document . getElementById ( 'user' ) ;

var userName = plant . getAttribute ( 'data-uname' ) ; // userName = 'AIDI'

var userId = plant . getAttribute ( 'data-uid' ) ; // userId = '12345'

// 使用setAttribute设置 data- 属性

user . setAttribute ( 'data-site' , 'https://' ) ;

此方法能在所有的现代浏览器中正常工作 但它不是HTML 5 的自定义 data-*属性被使用目的 不然和我们以前使用的自定义属性就没有什么区别了 例如:复制代码代码如下:

// 使用getAttribute获取 data- 属性

var user = document . getElementById ( 'user' ) ;

var userName = plant . getAttribute ( 'uname' ) ; // userName = 'AIDI'

var userId = plant . getAttribute ( 'uid' ) ; // userId = '12345'

// 使用setAttribute设置 data- 属性

user . setAttribute ( 'site' , 'https://' ) ;

这种“原始”的自定义属性和上面 data-* 自定义属性没什么区别 知识属性名不一样。

dataset属性存取data-*自定义属性的值

这种方式通过访问一个元素的 dataset 属性来存取 data-* 自定义属性的值。这个 dataset 属性是HTML5 JavaScript API的一部分 用来返回一个所有选择元素 data- 属性的DOMStringMap对象。

使用这种方法时 不是使用完整的属性名 如 data-uid 来存取数据 应该去掉data- 前缀。

还有一点特别注意的是: data- 属性名如果包含了连字符 例如:data-date-of-birth 连字符将被去掉 并转换为驼峰式的命名 前面的属性名转换后应该是: dateOfBirth 。复制代码代码如下:

码头

var el = document.querySelector('#user');

console.log(el.id); // 'user'

console.log(el.dataset);//一个DOMStringMap

console.log(el.dataset.id); // '1234567890'

console.log(el.dataset.name); // 'AIDI'

console.log(el.dataset.dateOfBirth); // ''

el.dataset.dateOfBirth = '1985-01-05'; // 设置data-date-of-birth的值.

console.log('someDataAttr' in el.dataset);//false

el.dataset.someDataAttr = 'mydata';

console.log('someDataAttr' in el.dataset);//true

如果你想删掉一个 data-属性 可以这么做: delete el . dataset . id ; 或者 el .dataset . id = null ; 。

看起来很美 哈哈 但是不幸的是 新的 dataset 属性只有在Chrome 8+ Firefox(Gecko) 6.0+ Internet Explorer 11+ Opera 11.10+ Safari 6+浏览器中实现 所以在此期间最好用的getAttribute和setAttribute来操作。

关于data-属性选择器

在实际开发时 您可能会发现它很有用 你可以根据自定义的 data- 属性选择相关的元素。例如使用querySelectorAll选择元素:复制代码代码如下:

// 选择所有包含 'data-flowering' 属性的元素

document . querySelectorAll ( '[data-flowering]' ) ;

// 选择所有包含 'data-text-colour' 属性值为red的元素

document . querySelectorAll ( '[data-text-colour="red"]' ) ;

同样的我们也可以通过 data- 属性值对相应的元素设置CSS样式 例如下面这个例子:复制代码代码如下:

.user {

width : 256px ;

height : 200px ;

}

.user[data-name='feiwen'] {

color : brown

}

.user[data-name='css'] {

color : red

}

1
码头

来源:爱蒂网

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。

html自定义datajs,科技常识:HTML5的自定义属性data-*详细介绍和JS操作实例相关推荐

  1. 疯狂html附源码,科技常识:HTML5 直播疯狂点赞动画实现代码 附源码

    今天小编跟大家讲解下有关HTML5 直播疯狂点赞动画实现代码 附源码 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML5 直播疯狂点赞动画实现代码 附源码 的相关资料,希望小伙伴们看 ...

  2. php 超过100m文件上传,科技常识:apache+php上传大文件以上传100M为例

    科技常识:apache+php上传大文件以上传100M为例 2021-03-19 18:54:57 今天小编跟大家讲解下有关apache+php上传大文件以上传100M为例 ,相信小伙伴们对这个话题应 ...

  3. apache php隐藏头信息的方法,科技常识:nginx/apache/php隐藏http头部版本信息的实现方法...

    今天小编跟大家讲解下有关科技常识:nginx/apache/php隐藏http头部版本信息的实现方法,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:nginx/apache/php ...

  4. win7开机提示服务器正在运行,科技常识:win7电脑启动ie浏览器提示服务器正在运行的处理方法...

    今天小编跟大家讲解下有关科技常识:win7电脑启动ie浏览器提示服务器正在运行的处理方法,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:win7电脑启动ie浏览器提示服务器正在运行 ...

  5. html下拉刷新原理,科技常识:移动端下拉刷新头实现原理及代码实现

    科技常识:移动端下拉刷新头实现原理及代码实现 2021-05-24 21:23:20 • 互联网 今天小编跟大家讲解下有关移动端下拉刷新头实现原理及代码实现 ,相信小伙伴们对这个话题应该有所关注吧,小 ...

  6. 计算机cdef盘无法显示,科技常识:如何解决电脑CDEF盘都打不开出现ldq

    今天小编跟大家讲解下有关科技常识:如何解决电脑CDEF盘都打不开出现该文件没有程序与之关联来执行该操作的问题,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:如何解决电脑CDEF盘都 ...

  7. 【笔记】行测——常识判断之科技常识总结与归纳(二)

    文章目录 第一章 高新技术及其应用 第二章 科技成就 一.中国科技成就 (一)"两弹一星" (二)中国航天进程 (三)嫦娥工程 (四)玉兔号 (五)空间实验室 (六)卫星导航系统 ...

  8. html5哪个标签首字母大写,HTML5中标签和常用规则有哪些?html5标签以及规则的介绍...

    这篇文章给大家介绍的内容是关于HTML5中标签和常用规则有哪些?html5标签以及规则的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. 命名规则 [强制]class:必须单 ...

  9. 【翻译】HTML5开发——轻量级JSON存储解决方案Lawnchair.js

    [翻译]HTML5开发--轻量级JSON存储解决方案Lawnchair.js 参考文章: (1)[翻译]HTML5开发--轻量级JSON存储解决方案Lawnchair.js (2)https://ww ...

最新文章

  1. 『树上匹配 树形dp』
  2. oracle 强制恢复,oracle数据库恢复
  3. 银行登录控件仿制--防钩子,防嗅探
  4. P3804 【模板】后缀自动机
  5. SAP CRM WebClient UI Abstract Page的Selenium实现
  6. jquery实现增删改(伪)-老男孩作业day13
  7. 95-20-010-协议-Kafka的Request和Response
  8. MSSQLSERVER查询分析器连接的方法
  9. 轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
  10. 关于spring MVC机制,示例解读
  11. 关于区块链通证模型,你想知道的都在这
  12. 错误信息: 集合已修改;可能无法执行枚举操作。
  13. 8-5如何使用线程池
  14. python读取字符串按列分配后按行读出
  15. 变态跳台阶问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
  16. Age of Information(AoI)大体介绍与相关工作
  17. 是德科技34901A校准
  18. 阿里云服务器购买流程
  19. YOLOv3中的非极大值抑制
  20. 剖析visa信用卡支付的交易处理流程

热门文章

  1. Linux系统下的/etc/nsswitch.conf文件
  2. 1013. 数素数 (20)
  3. 应用层之E-mail服务及javaMail邮件发送的知识总结
  4. 三种方式实现自定义圆形进度条ProgressBar
  5. 深入理解卷II ---ICS源代码下载
  6. ASP.NET 如何动态修改 title Meta link标签
  7. 又见yx — 说说IT公司的团队头儿
  8. matlab中ismember_相当于Matlab“ismember”in numpy(Python)?
  9. linux mate桌面主题下载_MATE-Desktop 1.11 发布下载,Linux 桌面
  10. linux 从行查看文件,linux 查看文件内容