className 与 classList 的区别 / setAttribute和add的区别

className 与 classList 的区别
1,所有浏览器都支持className属性
classList是HTML5新增,对IE浏览器并不友好,IE10+与其他主流浏览器支持此属性。
2,className属性返回值是一个字符串,内容就是HTML元素的class属性内容。
classList属性返回一个包含指定元素所有样式类的集合对象。
3,.className的返回值就是包含元素class属性值的字符串。
.classList返回值是DOMTokenList类型集合,通过此集合可以非常便利的操作元素class属性。
通过className操作class属性,本质是对字符串的操作,比如判断class是否具有样式类"b"。
那么需要自己写代码,将返回的字符串分解为各个样式类,然后再进行判断,相对比较麻烦。
如果利用classList属性,那么将是非常轻松愉快的事情,使用DOMTokenList集合的contains方法即可实现。
利用classList返回的集合对象,只需要一个contains方法即可。
集合还具有其他方法,分别如下:
(1).add():添加样式类。
(2).item():返回指定索引的样式类。
(3).remove():删除指定样式类。
(4).toggle():切换样式类

setAttribute和add的区别
setAttribute用于创建或改变某个新属性。
如果指定属性已经存在,则只设置该值并且会替换原来的值。
add方法是添加某个类,不会替换属性中的值,并且需要跟classList使用,因为它是classList的方法。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值