zoukankan      html  css  js  c++  java
  • 自定义属性 —— data*

    一、基本概念

    在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,使用这样的结构可以进行数据存放。使用data-*可以解决自定义属性混乱无管理的现状。

    二、原生js中自定义属性

     

    1,设置自定义属性

    设置自定义属性有如下2种方式。

    (1)第一种方式是可以直接在 HTML 标签上面书写:

    <h2 data-weather="rain">今天天气很好</h2>

    上面 data-weather 就是一个自定义属性,值为 rain。

    在通过这个方式设置的时候需要注意的是,如果设置的自定义属性是多个单词的组合的话,需要用中横线(-)链接,比如:

    <h2 data-birth-date="19940219">今天天气很好</h2>

    (2)第二种方式是通过 js 的 dataset 属性来设置:

    // html
    <h2>今天天气很好</h2>
    
    // js
    var h2 = document.querySelector('h2');
    h2.dataset.weather = "rain";

    这样也是设置了一个 data-weater 的自定义属性,值为 rain,HTML5 中元素都会有一个dataset的属性,这是一个 DOMStringMap 类型的键值对集合。

    通过这种方式设置同样需要注意,如果设置的是多个单词的组合的话,需要使用驼峰命名法来书写:

    // html
    <h2>今天天气很好</h2>
    
    // js
    var h2 = document.querySelector('h2');
    h2.dataset.birthDate = "19940219";

    2,js读取自定义属性

     读取的时候通过dataset属性,使用”.”来获取自定义属性,需要去掉 data- 前缀,连字符需要转化为驼峰命名:

    // html(设置)
    <h2 data-weather="rain" data-birth-date="19940219">今天天气很好</h2>
    
    // js(读取)
    var h2 = document.querySelector('h2');
    console.log(h2.dataset.weather);   // rain
    console.log(h2.dataset.birthDate);   // 19940219

    3、css读取自定义属性

    也可以通过自定义属性来书写样式:

    h3[data-birth-date="19940219"]{
        color: red;
    }

    结果如图:

     

    三、jQuery中的自定义属性

    // html
    <h3>今天天气很好</h3>
    
    // js
    //设置
    $("h3").data({"weather":"rain", "birth-date": "19940219"});
    $("h3").data("birth-date", "rain");
    
    // 读取
    console.log($("h3").data("weather"));   // rain
    console.log($("h3").data("birth-date"));   // 19940219
  • 相关阅读:
    HDFS入门详解
    Linux find example
    你想建设一个能承受500万PV/每天的网站吗?服务器每秒要处理多少个请求才能应对?
    find 与 tar命令连用
    莫名其妙的主机名 VM_32_234_centos
    hadoop Safe mode is ON 的解决办法
    Does not contain a valid host:port authority: Master:8031 (configuration property 'yarn.resourcemanager.resource-tracker.address')
    Equals 和 == 的区别--转
    线程间操作无效: 从不是创建控件的线程访问它。
    C# EventHandler委托事件小结--百度
  • 原文地址:https://www.cnblogs.com/xulinjun/p/11496104.html
Copyright © 2011-2022 走看看