HTML5 自定义属性 data-*介绍
在HTML5之前HTML4我们也可以自定义属性通过setAttribute去设置或者直接写在HTML标签里面那么HTML5新增data-*(*可以替换成你喜欢的任意名字)属性有什么用呢?
更便的捷操作
我们先来给大家介绍一下HTML5 dataset属性,他会以键值对的形式返回你所有以data- 开头的自定义属性
<p class="test" data-name="cqs" data-age="25" ></p>
<p data-name="lw" data-age="25" ></p>
<p data-name="ll" data-age="24" ></p>
var oText = document.querySelector('.test');
console.log(oText.dataset); //DOMStringMap { age: "25", name: "cqs" }
console.log(oText.dataset.name,oText.dataset.age); // cqs,25
console.log(oText.getAttribute('data-name')) // cqs
data-name,data-age 这两个就是我们自定义的属性通过dataset.(点)加data-后面的名字就可以读 name和age的值。同样用getAttribut也可以读取data-*自定义属性的值但是注意要把data-带上。用js去设置data-*自定属性只需DOM.dataset.xx = 'xx';即可
这里需要强调的一点是如果想要定义成data-job-coder="frontEnd"这种data-*-*的格式的自定义属性,在js里面就要转成驼峰命名法。常见的操作有DOM.style.fontSiez = xx+'px';DOM.style.backgroundColor = black; font-size,background-color这些以-连接的属性用js去操作都需要转成驼峰命名法。
<p class="test" data-name="cqs" data-age="25" ></p>
var oText = document.querySelector('.test');
oText.dataset.job = 'coder'; 相当于setAttribute('data-job','coder');
oText.dataset.jobCoder="frontEnd"
通过对比其实不难发现 用html5 dataset属性去操作data-*自定义属性,就是getAttribute和setAttribute的语法糖。
css可以选择器也可以认data-*
<style>
[data-age]{
background-color: red;
color:#fff;
}
</style>
<p class="test" data-name="cqs" data-age="25" >22</p>
<p class="test" data-name="cqs" >33</p>

放心dataset这么好用的属性肯定存在兼容性的问题
Chrome8
Firefox (Gecko) 6.0 (6.0)
internet Explorer 11
Opera 11.10
*Safari 6
参考文章链接: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset
扩展阅读: http://www.cnblogs.com/cqsjs/p/5709754.html
HTML5 自定义属性 data-*介绍的更多相关文章
- HTML5自定义属性对象Dataset简介
一.html5 自定义属性介绍 我之前翻译的“你必须知道的28个HTML5特征.窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设 ...
- Jquery 操作HTML5自定义属性data-*
HTML5自定义属性规范的写法<a data-roleid="12"></a>,也可以直接写<a roleid="12">& ...
- HTML5 自定义属性 data-*属性名一定要小写吗?
最近学习 javascript ,参考书籍是< javascript 高级程序设计>第三版,在介绍自定义元素属性时书中给出了一个例子,如下:<div id="myDiv&q ...
- 【翻译】详解HTML5 自定义 Data 属性
原标题:HTML5 Custom Data Attributes (data-*) 你是否曾经使用 class 或 rel 来保存任意的元数据,只为了使你的JavaScript更简单?如果你回答是的, ...
- Web 前沿——HTML5 Form Data 对象的使用
XMLHttpRequest Level 2 添加了一个新的接口——FormData.利用 FormData 对象,我们可以通过 JavaScript 用一些键值对来模拟一系列表单控件,我们还可以使用 ...
- HTML5 Form Data 对象的使用
HTML5 Form Data 对象的使用 MDN: https://developer.mozilla.org/zh-CN/docs/Web/Guide/Using_FormData_Object ...
- HTML5自定义属性操作
一.自定义属性(html5标准)data-属性名称="属性值" 自定义属性的名称驼峰式命名规则需要用-隔开 自定义属性名称如果连在一起写,大写会自动转为小写 data-user=& ...
- HTML5 自定义属性 data-* 和 jQuery.data 详解
新的HTML5标准允许你在普通的元素标签里,嵌入类似data-*的属性,来实现一些简单数据的存取.它的数量不受限制,并且也能由javascript动态修改,也支持CSS选择器进行样式设置.这使得dat ...
- HTML5的自定义属性data-*详细介绍和JS操作实例
当然高级浏览器下可通过脚本进行定义和数据存取.在项目实践中非常有用. 例如: 复制代码 代码如下: <div id = "user" data-uid = "123 ...
- jQuery中使用data()方法读取HTML5自定义属性data-*实例
如果你使用jQuery类库,那么你可以非常愉悦的使用jquery的data()方法存取data-* 自定义属性,方法允许我们在DOM元素上绑定任意类型的数据,避免了循环引用的内存泄漏风险 主要的方法如 ...
随机推荐
- Cisco cmd命令(三)动态路由协议
路由选择协议:1.矢量距离协议 2.链路状态协议 RIP路由选择协议:1.使用矢量距离协议 2.RIPv1只能使用有类路由 3.RIPv2可以使用无类路由 路由更新定时器:用于将路由器本身完整的路由选 ...
- Funsion Charts 学习(一)
学习官网: http://www.fusioncharts.com/explore/line-area-charts/ 参数: numvdivlines number 垂直线显示vd ...
- MySQL游标操作指南
本篇文章是对MySQL游标的具体使用进行了详细的分析介绍,需要的朋友参考下 测试表 level 代码如下: create table test.level (name varchar(20)); ...
- 使用URLConnection获取网页信息的基本流程
参考自core java v2, chapter3 Networking. 注:URLConnection的子类HttpURLConnection被广泛用于Android网络客户端编程,它与apach ...
- PHP使用curl伪造IP地址和header信息
curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_AD ...
- Leetcode 104 Maximum Depth of Binary Tree python
题目: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the ...
- [XMPP]iOS聊天软件学习笔记[一]
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- Java 学习 第一篇
1:Java文档注释:使用javadoc工具可以提取程序中文档注释来生成API文档:javadoc命令的基本用法:javadoc 选项 java源文件/包javadoc -d {} -windowti ...
- Histats申请Counter网站计数器 - Blog透视镜
为了计算网页被浏览的次数,访客人数等统计数据,作为未来分析之用,可以向Histats申请免费的Counter网站计数器,它的功能相当齐全,同时也会保留一段时间的资料,当作统计比较的资料,更可以进一步付 ...
- 十一、外观(Facade)模式--结构模式(Structural Pattern)
外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式.门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行. 门面模式提供一个高层次 ...