前端面试题二十四

一、使用 data- 属性的好处是什么?

HTML5规范里增加了一个自定义data属性.
为前端开发者提供自定义的属性,这些属性集可以通过对象的dataset属性获取,不支持该属性的浏览器可以通过 getAttribute方法获取
<div data-author="david" data-time="2011-06-20" data-comment-num="10">...</div>div.dataset.commentNum; // 10
需要注意的是,data-之后的以连字符分割的多个单词组成的属性,获取的时候使用驼峰风格:比如

<div id="content" data-user-list="user_list">data-user_list自定义属性 </div>
//js
var content= document.getElementById('content');
alert(content.dataset.userList)
//jQuery
$('#content').data('userList');//读

并不是所有的浏览器都支持.dataset属性,测试的浏览器中只有Chrome和Opera支持。
通过js方式给data-*设置值

<div id="content" data-user-list="user_list">data-user_list自定义属性 </div>
//js
var content= document.getElementById('content');
content.dataset.name='我叫tom'
alert(content.dataset.name)
//jquery
$('#content').data('name','我叫tom');//写
getAttribute/setAttribute方法的使用
var content= document.getElementById('content');        
content.dataset.birthDate = '19990619';        
content.setAttribute('age', 25);       
console.log(content.getAttribute('data-age')); //25       console.log(content.getAttribute('data-birth-date')); //19990519  


作者:Arno_z
链接:https://www.jianshu.com/p/1c314dd0ba1f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文地址:https://www.cnblogs.com/jian138/p/8525407.html