className会重置原class属性

xiaoxiao2021-02-28  43

先上一段代码

来看下这个代码的结果

不是addClass吗,为什么没有变蓝色呢??

我们可以打个点来看下发生什么问题

打如下图的点:

ok,接下来刷新一下页面,变成这样了.......

天啊,原来已经变成蓝色了,只是在下面遍历的时候,className=“inner”把原来的类覆盖了,或者说重置了

这是打点停住时候发生的事情,原来的c1被盖了

所以,点题一下:className属性是会覆盖掉原来的class属性

简单上一下源码

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/jquery-1.11.0.js"></script> <style type="text/css"> .c1{ color: blue; } .cc{ font-size: 20px; } </style> </head> <body> <div class="box"> <ul class="b-ul"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> </div> </body> </html> <script type="text/javascript"> var lis = document.getElementsByClassName("b-ul")[0].children; $(".b-ul>*").addClass("c1");/*失效了,原效果是变蓝色*/ for(var i=0;i<4;i++){ lis[i].className = "inner"; lis[i].classList.add("cc"); } // $("#b-ul>*").addClass("c1");/*没有问题*/ </script>
转载请注明原文地址: https://www.6miu.com/read-2632740.html

最新回复(0)