<div>原样式</div>
div { width: 200px; height: 60px; line-height: 60px; border: 1px solid red; margin-bottom: 30px; text-align: center; }
通过改变元素的类名,从而使 CSS 样式发生变化
改变 class 类名
简单加个类名
<div id="className">className</div>
简单写个类名
.bgYellow { background-color: yellow; }
let div = document.querySelector('#className') div.className = 'bgYellow'
直接对属性名进行设置,有缺陷,只有部分样式生效
添加到嵌入式的 css 样式中
<div id="directly">直接设置属性</div>
let div = document.querySelector('#directly') div.style.backgroundColor = 'blue' div.style.color = '#fff'
本质就是设置元素的 style 的属性值
添加到嵌入式的 css 样式中
<div id="cssText">cssText</div>
let div = document.querySelector('#cssText') div.style.cssText = 'background-color:green;' div.style.cssText += 'color:#fff;'
增加一个指定名称和值的新属性,或者修改已有属性的值
<link rel="stylesheet" href="css1.css" id="css"> <div id="setAttribute">setAttribute</div>
// 可以直接修改 link 的引入文件 let css = document.querySelector('#css') css.setAttribute('href', 'css2.css') let div = document.querySelector('#setAttribute') div.setAttribute('style', 'background-color:pink; color:#fff;')
用于新增一个新的 css 属性,或者修改已有的属性
添加到嵌入式的 css 样式中
<div id="setProperty">setProperty</div>
let div = document.querySelector('#setProperty') div.style.setProperty('background-color', 'red') div.style.setProperty('color', '#fff')
<!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>Document</title> <link rel="stylesheet" href="css1.css" id="css" /> <style> div { width: 200px; height: 60px; line-height: 60px; border: 1px solid red; margin-bottom: 30px; text-align: center; } .bgYellow { background-color: yellow; } </style> </head> <body> <div>原样式</div> <div id="className">className</div> <div id="directly">直接设置属性</div> <div id="cssText">cssText</div> <div id="setAttribute">setAttribute</div> <div id="setProperty">setProperty</div> <script> { // 通过 className 设置类名 let div = document.querySelector('#className') div.className = 'bgYellow' } { // 直接设置属性 let div = document.querySelector('#directly') div.style.backgroundColor = 'blue' div.style.color = '#fff' } { // 通过 cssText 设置属性 let div = document.querySelector('#cssText') div.style.cssText = 'background-color:green;' div.style.cssText += 'color:#fff;' } { // 通过 setAttribute 设置属性 let css = document.querySelector('#css') css.setAttribute('href', 'css2.css') let div = document.querySelector('#setAttribute') div.setAttribute('style', 'background-color:pink; color:#fff;') } { // 通过 setProperty 设置属性 let div = document.querySelector('#setProperty') div.style.setProperty('background-color', 'red') div.style.setProperty('color', '#fff') } </script> </body> </html>