全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-16 6 分钟 ✍️ juanwangdev

DOM样式操作

通过JavaScript动态修改元素样式,实现丰富的交互效果。

style属性

直接设置样式

JavaScript
element.style.color = 'red';
element.style.fontSize = '16px';
element.style.backgroundColor = '#fff';

cssText批量设置

JavaScript
element.style.cssText = 'color: red; font-size: 16px;';

获取计算样式

JavaScript
const style = window.getComputedStyle(element);
console.log(style.color);  // rgb(255, 0, 0)

classList操作

添加类

JavaScript
element.classList.add('active');
element.classList.add('class1', 'class2');

移除类

JavaScript
element.classList.remove('active');
element.classList.remove('class1', 'class2');

切换类

JavaScript
element.classList.toggle('active');
element.classList.toggle('hidden', condition);  // 条件为true时添加

检查类

JavaScript
if (element.classList.contains('active')) {
  // 存在active类
}

替换类

JavaScript
element.classList.replace('old', 'new');

className属性

直接操作完整类名字符串:

JavaScript
element.className = 'class1 class2';
element.className += ' class3';  // 追加类

样式操作对比

方式适用场景特点
style单个样式动态修改行内样式,优先级高
classList类名切换推荐使用,结构清晰
className批量替换类名会覆盖原有类

注意:style 属性只能获取行内样式,获取最终样式需用 getComputedStyle

要点总结

  1. 单个样式用 style 属性,多属性用 cssText
  2. 类名操作优先使用 classList,语义清晰
  3. toggle 方法可传第二个参数控制添加或移除
  4. 获取最终样式用 getComputedStyle
  5. 避免频繁操作样式,可切换类名提升性能
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
下一篇 → DOM节点操作
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码