zoukankan      html  css  js  c++  java
  • 关于data属性的一些常见的处理方式

    我们知道在html标签上通用的属性有以下这些:

    1.title
    2.class
    3.id
    4.name
    5.data-属性名
    6.style

    这些东西大部分都有其各自的效用,这里就不一一多说。

    jQuery的attr与prop提到过在IE9之前版本中如果使用property不当会造成内存泄露问题,而且关于Attribute和Property的区别也让人十分头痛,在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,使用这样的结构可以进行数据存放。使用data-*可以解决自定义属性混乱无管理的现状。

    data-自定义属性的读写方式有两种:

    1.直接写在标签里面   <div data-name="123"></div>

    2.通过javascript设置  div.dataset.name="123";这里注意一个问题,不要写成是div.dataset.data-name="123";或者div.dataset.dataName="123";(这里是一个小坑,注意点,然后dataset有兼容性问题)

    Internet Explorer 11+

    Chrome 8+

    Firefox 6.0+

    Opera 11.10+

    Safari 6+

    以上就是浏览器的兼容性的列表

    当然这里也可以用getattribute来获取,或者setattribute来设置(div.setattribute("data-name","123");)这里可以把dataset看成是attribute的 一个子集。

    当然data-属性名也可以用css3选择器获取来[data-name]来选中,然后添加样式.

     用jquery来获取data属性或者设置data属性的话,那就更加简单了,直接$("div").data("name);就可以获取了,当然这里面也可以用json来处理。

    假如<div data-name='{"game":"123","age":"16"}'></div>

    那这里面就是$("div").data("name").game或者$("div").data("name").age来或者属性,很方便。这里注意一点外面不要用双引号,用单引号。

  • 相关阅读:
    Hbase常用Shell命令
    Hbase的安装与基本操作
    Unity3d 游戏设计(一)井字棋
    Unity3d 二、离散仿真引擎基础
    Unity3D 一、游戏
    String StringBuffer StringBulider
    Java日志记录log4j最简明教程
    使用PinYin4j.jar将汉字转换为拼音
    线性素数筛
    求一个数的约数个数 d(n)
  • 原文地址:https://www.cnblogs.com/xiongmaoblog/p/6286546.html
Copyright © 2011-2022 走看看