在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-*介绍的更多相关文章

  1. HTML5自定义属性对象Dataset简介

    一.html5 自定义属性介绍 我之前翻译的“你必须知道的28个HTML5特征.窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设 ...

  2. Jquery 操作HTML5自定义属性data-*

    HTML5自定义属性规范的写法<a data-roleid="12"></a>,也可以直接写<a roleid="12">& ...

  3. HTML5 自定义属性 data-*属性名一定要小写吗?

    最近学习 javascript ,参考书籍是< javascript 高级程序设计>第三版,在介绍自定义元素属性时书中给出了一个例子,如下:<div id="myDiv&q ...

  4. 【翻译】详解HTML5 自定义 Data 属性

    原标题:HTML5 Custom Data Attributes (data-*) 你是否曾经使用 class 或 rel 来保存任意的元数据,只为了使你的JavaScript更简单?如果你回答是的, ...

  5. Web 前沿——HTML5 Form Data 对象的使用

    XMLHttpRequest Level 2 添加了一个新的接口——FormData.利用 FormData 对象,我们可以通过 JavaScript 用一些键值对来模拟一系列表单控件,我们还可以使用 ...

  6. HTML5 Form Data 对象的使用

    HTML5 Form Data 对象的使用  MDN: https://developer.mozilla.org/zh-CN/docs/Web/Guide/Using_FormData_Object ...

  7. HTML5自定义属性操作

    一.自定义属性(html5标准)data-属性名称="属性值" 自定义属性的名称驼峰式命名规则需要用-隔开 自定义属性名称如果连在一起写,大写会自动转为小写 data-user=& ...

  8. HTML5 自定义属性 data-* 和 jQuery.data 详解

    新的HTML5标准允许你在普通的元素标签里,嵌入类似data-*的属性,来实现一些简单数据的存取.它的数量不受限制,并且也能由javascript动态修改,也支持CSS选择器进行样式设置.这使得dat ...

  9. HTML5的自定义属性data-*详细介绍和JS操作实例

    当然高级浏览器下可通过脚本进行定义和数据存取.在项目实践中非常有用. 例如: 复制代码 代码如下: <div id = "user" data-uid = "123 ...

  10. jQuery中使用data()方法读取HTML5自定义属性data-*实例

    如果你使用jQuery类库,那么你可以非常愉悦的使用jquery的data()方法存取data-* 自定义属性,方法允许我们在DOM元素上绑定任意类型的数据,避免了循环引用的内存泄漏风险 主要的方法如 ...

随机推荐

  1. C# Winform WindowsMediaPlayer控件

    要做一个视频无缝切换的程序,所谓无缝就是在一个视频结束时立即开始另一个视频,中间不要有切换的黑屏 实现思路是放两个wmp播放控件,其中每个时刻只有一个在播放,另外一个处于暂停状态,并隐藏 当一个视频播 ...

  2. 【转载】ADO.NET与ORM的比较(3):Linq to SQL实现CRUD

    [转载]ADO.NET与ORM的比较(3):Linq to SQL实现CRUD 说明:个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hibernate ...

  3. 内存操作相关内核 API 的使用

    1.RtlCopyMemory .RtlCopyBytes.RtlMoveMemory: 2.RtlZeroMemory.RtlFillMemory: 3.RtlEqualMemory: 4.ExAl ...

  4. chmod 命令——chmod 755与chmod 4755区别(转)

    755和4755的区别 chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限. 一般是三个数字:第一个数字表示文件所有者的权限第二个数字表示与文件所有者同属一个用户组的其他 ...

  5. OER 7451 in Load Indicator : Error Code = OSD-04500:指定了非法选项

    alert 日志错误OER 7451 in Load Indicator : Error Code = OSD-04500:指定了非法选项 Sun Apr 22 11:15:51 2012 OER 7 ...

  6. 每天一点css3聚沙成塔(一):transition

    transition 语法: transition:[ transition-property ] || [ transition-duration ] || [ transition-timing- ...

  7. laravel 心得

    1.安装 使用composer安装laravel ,切换到你想要放置该网站的目录下,运行命令: composer create-project laravel/larevel project 4.1 ...

  8. nginx之如何获取真实客户端ip

    nginx的配置文件中日志格式加入$http_x_forwarded_for--> log_format access '$remote_addr - $remote_user [$time_l ...

  9. python 核心编程第六章课后题自己做的答案

    6–6. 字符串.创建一个 string.strip()的替代函数:接受一个字符串,去掉它前面和后面的 空格(如果使用 string.*strip()函数那本练习就没有意义了) 'Take a str ...

  10. postgresql赋予/撤消 用户权限

    (1)给予权限:grant           grant select on 表名 to 用户名: (2)撤消权限:revoke           revoke select on 表名 from ...