在项目开发中经常在js中使用setAttribute来设置自定义属性,最近发现dataSet用法跟setAttribute相似,下面来具体学习下他们的区别。
1、dataSet【自定义数据属性】
(1)HTMLElement.dataset 属性允许无论是在读取模式和写入模式下访问在 HTML或 DOM中的元素上设置的所有自定义数据属性(data-)集。
(2)所谓的data-实际上就是data-前缀加上自定义属性名;但是在获取或者添加自定义属性的时候要去掉前缀data-;
2、getAttribute和setAttribute
setAttribute() 方法为一个或一组元素添加指定的属性,并且为其赋指定的值。(主要针对自定义属性)
如果这个属性已经存在,仅仅设置或是修改属性值。
getAttribute() 方法返回元素上一个指定的属性值。
如果指定的属性值不存在,就返回 null 或是 ""(空字符串)。
3、getAttribute和setAttribute及dataset的区别?
1、共同点:dataset和setAttribute一样都是可以自定义属性,但dataset是偏向自定义的数据集的,可以类似于地址信息这些,就是说dataset是setAttribute一个子集,是更为确切一部分信息的集合。
2、不同点:命名上不同,dataset内只有带data-前缀的属性;
<head>
<meta charset