美文网首页程序员
H5自定义属性及兼容处理

H5自定义属性及兼容处理

作者: Cherry9507 | 来源:发表于2017-12-07 09:58 被阅读0次

"data-"前缀

可以让所有的HTML元素都支持自定义的属性。

举个栗子:

    <h1 data-sex="girl">111</h1>

获取自定义属性(使用H5自定义属性对象Dataset来获取)

 var dataNum = document.getElementsByTagName("h1")[0].dataset.sex;
 console.log(dataNum)
//另一个方法
 var another = document.getElementsByTagName("h1")[0].getAttribute("data-sex");
 console.log(another)

请注意,dataset 属性本身可以被读取,但不能直接写入。相反,所有的写入必须是它的“属性”,这反过来表示数据属性。

自定义的data 属性名称转化成 DOMStringMap 的键值时会遵循下面的规则:

  • 前缀 data- 被去除(包括减号);
  • 对于每个在ASCII小写字母 a到z前面的减号 (U+002D),减号会被去除,并且字母会转变成对应的大写字母。
  • 其他字符(包含其他减号)都不发生变化

与此相反的转换,即将键值转换为一个属性的名称,会遵循下面的规则:

  • 约束:减号在转变前一定不能紧跟一个ASCII小写字母 az之间;
  • 添加 data- 前缀;
  • 任何ASCII大写字母 AZ 将转化成一个减号紧跟对应的小写字母;
  • 其他字符不会发生变化

上面规则的约束是为了保证这两种转换是正好相反的转换。

例如,属性名称 data-abc-def 与键值 abcDef 相对应。

删除data一个属性

 var myH1 = document.getElementsByTagName("h1")[0];
 delete myH1.dataset.sex

增加一个属性

myH1.dataset.addAttr="thisOne"

兼容处理

if(myH1.dataset){
myH1.dataset.hurry= "carry";
var thevalue = myH1.dataset.hurry;
}else{
myH1.setAttribute("data-attribute","carry");
var theValue = myH1.getAttribute("data-attribute"); // 获取自定义属性
}

相关文章

  • H5自定义属性及兼容处理

    "data-"前缀 可以让所有的HTML元素都支持自定义的属性。 举个栗子: 获取自定义属性(使用H5自定义属性对...

  • 自定义属性操作

    1、自定义属性操作: 2、tab栏切换案例: 3、H5自定义属性:

  • IE8兼容性问题

    1、兼容H5标签和部分C3属性 1.1 兼容H5标签 html5.js 1.2 支持圆角、阴影等 (PIE.js)...

  • web前端笔记

    ##Javascript 多浏览器兼容性问题及解决方案 1 自定义属性问题 问题说明:IE下,可以使用获取常规属性...

  • [HTML5] html5 笔记1

    01-HTML5基础 了解HTML5 新语义标签 网页布局结构标签及兼容处理 多媒体标签及属性介绍 新表单元素及属...

  • 前端开发兼容性总结

    前端开发IE下兼容性处理 主流浏览器,IE 6,7 ,chrome ,Firefox, Safari H5标签兼容...

  • 前端js时间插件:DateTimePicker

    优势:解决了火狐不兼容h5的datetime-local属性不兼容解决了日期+时间相结合的时间官网:http://...

  • h5shiv.js实现原理及代码学习

    h5shiv.js实现原理及代码学习 html方面主要是学习了H5的一些标签和属性的运用,因为要兼容IE8,所以采...

  • H5开发踩坑之旅

    1、H5页面在IOS后退不刷新 2、ios对fixed的属性兼容性 3、Input框的兼容性 3.1、input ...

  • getComputedStyle兼容

    兼容处理代码 其中oStyle.styleFloat = oStyle.cssFloat;styleFloat属性...

网友评论

    本文标题:H5自定义属性及兼容处理

    本文链接:https://www.haomeiwen.com/subject/rkorixtx.html