搜索

首页  >  问答  >  正文

javascript - html5 data-* 自定义属性有什么不同。

<li data-animal="fish">Salmon</li> <li animal="fish">Salmon</li> 新出的html5自定义属性和普通的定义属性有什么不同,都是定义属性。

曾经蜡笔没有小新曾经蜡笔没有小新2770 天前800

全部回复(3)我来回复

  • 高洛峰

    高洛峰2017-07-05 09:57:59

    1.规范性
    2.有专门的接口dataset

    回复
    0
  • 为情所困

    为情所困2017-07-05 09:57:59

    如楼上所说,所以属性的访问方式不同。

    <li data-animal="fish" id="hello">Salmon</li>
    <li animal="fish" id="hi">Salmon</li>
    var hello = document.getElementById("hello");
    var hi = document.getElementById("hi");
    
    // 获取id为hello的元素的data-animal属性
    console.log(hello.getAttribute("data-animal")); // "fish"
    console.log(hello.dataset.animal); // "fish"
    
    // 获取id为hi的元素的animal属性
    console.log(hi.getAttribute("animal")); // "fish"

    回复
    0
  • ringa_lee

    ringa_lee2017-07-05 09:57:59

    在IDE里面, 有data-前缀的不会报警告.

    回复
    0
  • 取消回复