当前位置: 首页 > news >正文

19.从行内到类名:JavaScript 修改 CSS 样式的两种核心方式对比

目录

一、获取/修改样式属性

二、行内样式操作

代码示例:点击文字则放大字体。

方式一:

方式二:

三、行内样式操作(补充示例)

四、类名样式操作


一、获取/修改样式属性

CSS 中指定给元素的属性,都可以通过 JS 来修改。

二、行内样式操作

语法:

element.style.[属性名] = [属性值]; element.style.cssText = [属性名+属性值];

说明:

“行内样式”,通过 style 直接在标签上指定的样式。

优先级很高。

适用于改的样式少的情况。

注意:

style 中的属性都是使用驼峰命名​ 的方式和 CSS 属性对应的。

例如:font-size => fontSize,background-color => backgroundColor

这种方式修改只影响到特定样式,其他内联样式的值不变。

代码示例:点击文字则放大字体。

方式一:

<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>Document</title> </head> <body> <div style="font-size: 10px;" onclick="changeSize()">哈哈哈</div> </body> <script> function changeSize() { let element = document.querySelector('div') console.log(element.style) let size = parseInt(element.style.fontSize) + 10 element.style.fontSize = size + "px" // console.log(typeof(size)) } </script>

方式二:

<script> function changeSize() { let element = document.querySelector('div') console.log(element.style) let size = parseInt(element.style.fontSize) + 10 // element.style.fontSize = size + "px" element.style.cssText = "font-size:" + size + "px" // console.log(typeof(size)) } </script>

三、行内样式操作(补充示例)

说明:

“行内样式”,通过 style 直接在标签上指定的样式。优先级很高。

适用于改的样式少的情况。

代码示例:点击文字则放大字体。

style 中的属性都是使用驼峰命名​ 的方式和 CSS 属性对应的。

例如:font-size => fontSize,background-color => backgroundColor

这种方式修改只影响到特定样式,其他内联样式的值不变。

<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>Document</title> <style> div { font-size: 10px; } </style> </head> <body> <div onclick="changeSize()">哈哈哈</div> </body> <script> function changeSize() { let element = document.querySelector('div') console.log(element.style) let size = parseInt(element.style.fontSize) + 10 // element.style.fontSize = size + "px" element.style.cssText = "font-size:" + size + "px" // console.log(typeof(size)) } </script>

(注:此处标注“这种是无法实现效果的”,指的是如果样式写在<style>标签内,直接使用element.style.fontSize初始可能获取不到值,需要结合getComputedStyle,但此处仅展示代码结构)


四、类名样式操作

语法:

element.className = [CSS 类名];

说明:

修改元素的 CSS 类名。适用于要修改的样式很多的情况。

由于 class 是 JS 的保留字,所以名字叫做 className。

代码示例:开启夜间模式

HTML 与 CSS 结构:

<style> .light { background-color: aliceblue; color: black; width: 100%; height: 100%; } body, html { width: 100%; height: 100%; } .dark { background-color: black; color: white; width: 100%; height: 100%; } </style> <body> <div class="light"> 这是一段话<br> 这是一段话<br> 这是一段话<br> 这是一段话<br> 这是一段话<br> 这是一段话<br> </div> </body>

JS 切换逻辑:

<body> <div class="light" onclick="changeStyle()"> 这是一段话<br> 这是一段话<br> 这是一段话<br> 这是一段话<br> 这是一段话<br> 这是一段话<br> </div> </body> <script> function changeStyle() { let element = document.querySelector('div') // 如果当前的样式是白天模式,此时就将其样式切换成黑夜模式 // 否则就将当前样式调整成白天模式 console.log(element.className) if(element.className == "light") { element.className = "dark" } else { element.className = "light" } } </script>
http://www.zskr.cn/news/1440322.html

相关文章:

  • 大模型面试题:LLM预训练阶段有哪几个关键步骤?
  • Kafka InconsistentClusterIdException 导致容器无限重启,磁盘打满排查与修复
  • 终极指南:如何通过RMSProp优化器和EMA权重平均提升cspdarknet53.ra_in1k训练稳定性
  • 大模型面试题:LangChain Token计数有什么问题?如何解决?
  • 2026年留学生实习期求职机构推荐,五大全流程服务优质品牌 - 资讯焦点
  • LoRa无线通信入门:基于AT命令的REYAX RYLR998模块配置与实战
  • 深度伪造视频监管空白正在扩大(2024全球立法进度白皮书首发)
  • NVIDIA Profile Inspector深度解析:解锁显卡隐藏性能的专业调优指南
  • Apollo-7B横空出世:革命性多语言医疗AI模型如何赋能全球60亿人?
  • 2026年国内厨卫电器消费市场现状及消费者选购参考指南 - 资讯焦点
  • 从代码到落地:BailingMoeV2_5模型架构的MoE稀疏专家系统详解 [特殊字符]
  • 企业背调怎么查?2026年企业常用的3种背调方式 - 资讯快报
  • MiniCPM4-0.5B在企业级应用中的3大实战案例
  • DeBERTa-v3-base-prompt-injection-v2开发者指南:如何自定义训练和微调你的提示注入检测模型
  • 别再用默认样式了!Unity Toggle组件从‘能用’到‘好看’的完整美化指南(附UI动效)
  • 燃气灶嵌入式还是台式灶好 2026年市场调研及选购参考 - 资讯焦点
  • Mysql实验之——建库建表、插入数据、查询(练习3)
  • 如何使用tsdae-lemone-mbert-base进行法律文本特征提取:5分钟快速入门 [特殊字符]
  • 2026年靠谱的句容双面印花头巾/全涤头巾用户口碑推荐厂家 - 品牌宣传支持者
  • 创客教育中的电路设计:从原理到实践,打造智能生活项目
  • 代码详解:distilbert-multilingual-nli-stsb-quora-ranking推理脚本的每一行
  • 电路设计入门:从核心定律到PCB实战,打造你的智能硬件项目
  • 从天气预报到灾害监测:聊聊合成孔径雷达(SAR)那些不为人知的民用‘超能力’
  • 海洋环境监测必备温深仪!哪家质量好?高性价比供应商合集 - 品牌推荐大师
  • 新规落地|2026巨量本地推服务商规范解读:合规代运营如何助力商家同城爆单 - 资讯焦点
  • Redis分布式锁进第二十篇
  • 瑞祥商联卡回收:避免被迫消费的实用小技巧 - 团团收购物卡回收
  • ViGEmBus:彻底解决Windows游戏手柄兼容性问题的专业方案
  • 2026年平价国产拍立得选购评估标准 - 资讯焦点
  • cspdarknet53.ra_in1k性能评测:ImageNet-1k top5准确率背后的计算效率分析