【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>


【总结】


细节很重要.


文章小尾巴


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


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


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

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


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


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



目录
相关文章
|
5月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
上下文选择器(迭代选择器):基于祖先或同胞元素选择一个元素 ID和类选择器:基于id#和class的属性值进行选择元素。 属性选择器:基于属性的有无和特征进行选择。 ①上下文选择器: 上下文选择器的语法格式:标签1 标签2{属性:值;} //注意:组合选择器和上下文选择器的区别,组合选择器以逗号隔开, 上下文选择器以空格隔开 ②特殊的上下文选择器 子选择器> : 语法格式:标签1>标签2 解释说明:标签1和标签2
347 1
|
10月前
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
1509 58
|
缓存 JavaScript 前端开发
高效打造跨平台桌面应用:Electron加载服务器端JS
【9月更文挑战第17天】Electron 是一个基于 Chromium 和 Node.js 的开源框架,允许使用 HTML、CSS 和 JavaScript 构建跨平台桌面应用。加载服务器端 JS 可增强应用灵活性,实现代码复用、动态更新及实时通信。通过 HTTP 请求、WebSocket 或文件系统可实现加载,但需注意安全性、性能和兼容性问题。开发者应根据需求选择合适方法并谨慎实施。
707 3
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
612 7
|
缓存 前端开发 JavaScript
JavaScript加载优化
JavaScript加载优化
|
Web App开发 JavaScript 前端开发
JavaScript 类(class)
JavaScript 类(class)
160 2
JavaScript 类(class)
|
JavaScript 前端开发 Java
JavaScript 类知识点概览
概览JavaScript中类的知识点,包括类的定义和实现、添加方法和get/set方法、类的继承和静态方法的使用。通过学生类和人员类的例子,演示了类的构造器、方法定义、继承关系和静态方法的调用。
JavaScript 类知识点概览
|
缓存 前端开发 JavaScript
优化CSS和JavaScript加载
优化CSS和JavaScript加载
298 1
|
缓存 前端开发 JavaScript
优化CSS和JavaScript加载
Next.js和Nuxt.js在优化CSS和JavaScript加载方面提供了多种策略和工具。Next.js通过代码拆分、图片优化和特定的CSS/JavaScript优化措施提升性能;Nuxt.js则通过代码分割、懒加载、预渲染静态页面、Webpack配置和服务端缓存来实现优化。两者均能有效提高应用性能。
|
JavaScript 安全
ES6中JS类实现的解读
ES6中JS类实现的解读
136 3

热门文章

最新文章