【BUG】【CSS】【JS】JavaScript动态添加CSS的class类样式不生效,原因是css样式优先级在加载css文件的时候就确定下来的.

简介: 【BUG】【CSS】【JS】JavaScript动态添加CSS的class类样式不生效,原因是css样式优先级在加载css文件的时候就确定下来的.

【日期】


2022/02/17


【问题】


JavaScript动态添加CSS的class类样式不生效.


【效果图】没有效果


微信截图_20220520113656.png


【代码图】


微信截图_20220520113719.png


【原因】


css样式优先级在加载css文件的时候就确定下来的. 最后一个是加载优先级最高。


【如何发现】


在测试的时候发现,并且一开始以为是class里添加类名的顺序会影响。后来发现是加载顺序的影响。


【如何修复】


只需把css样式里的class类样式的顺序换一下(tip:如果是加载外部css,也是加载顺序


之前的微信截图_20220520113728.png换一下位置微信截图_20220520113741.png


【效果图】


生效了微信截图_20220520113752.png


【完整代码】


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>css样式优先级在加载css文件的时候就确定下来的</title>
</head>
<body>
    <center>
        <div>
            <div id="nfzDiv" class="nfz-p div-p">你好,南方者。</div>
            <button onclick="addClass()">添加class</button>
            <button onclick="removeClass()">去掉class</button>
        </div>
        <br>
    </center>
</body>
<style type="text/css">
    .div-p {
        margin: 10px;
        font-size: small;
        color: red;
    }
    .nfz-p {
        color: #4690bb;
        font-size: large;
    }
</style>
<script type="text/javascript">
    var nfzDiv = document.getElementById("nfzDiv");
    function addClass() {
        nfzDiv.classList.add("nfz-p");
    }
    function removeClass() {
        nfzDiv.classList.remove("nfz-p");
    }
</script>
</html>


【总结】


细节很重要.


文章小尾巴


文章写作、模板、文章小尾巴可参考:《写作“小心思”》


  感谢你看到最后,最后再说两点~


  ①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。

  ②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~


  我是南方者,一个热爱计算机更热爱祖国的南方人。


  (文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)



目录
相关文章
|
3天前
|
JavaScript
浏览器插件crx文件--JS混淆与解密
浏览器插件crx文件--JS混淆与解密
10 0
|
16天前
|
JavaScript 前端开发 容器
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
18 0
|
1月前
|
JavaScript
js开发:请解释什么是ES6的类(class),并说明它与传统构造函数的区别。
ES6的类提供了一种更简洁的面向对象编程方式,对比传统的构造函数,具有更好的可读性和可维护性。类使用`class`定义,`constructor`定义构造方法,`extends`实现继承,并可直接定义静态方法。示例展示了如何创建`Person`类、`Student`子类以及它们的方法调用。
22 2
|
1月前
|
前端开发 算法
CSS语言的层叠和优先级
CSS语言的层叠和优先级
|
1月前
|
前端开发
web前端开发-----CSS样式设置
web前端开发-----CSS样式设置
32 0
|
9天前
|
JavaScript 前端开发 iOS开发
js实用方法记录-动态加载css/js
js实用方法记录-动态加载css/js
16 0
|
14天前
|
前端开发
|
17天前
|
JSON JavaScript 前端开发
js是什么、html、css
js是什么、html、css
|
17天前
|
移动开发 前端开发
【通用CSS模板】移动端H5页面统一样式.css
【通用CSS模板】移动端H5页面统一样式.css
|
22天前
|
XML 前端开发 数据格式
css添加样式
【4月更文挑战第4天】css添加样式
21 9