JS | javascript修改元素的style属性


基础代码

1. HTML 代码

<div>原样式</div>

2. CSS 样式

div {
  width: 200px;
  height: 60px;
  line-height: 60px;
  border: 1px solid red;
  margin-bottom: 30px;
  text-align: center;
}

3. 效果

image


一、className设置类名

通过改变元素的类名,从而使 CSS 样式发生变化
改变 class 类名

1.1 HTML 代码

简单加个类名

<div id="className">className</div>

1.2 CSS 样式

简单写个类名

.bgYellow {
  background-color: yellow;
}

1.3 JavaScript 代码

let div = document.querySelector('#className')
div.className = 'bgYellow'

1.4 效果

image
image


二、直接设置属性名

直接对属性名进行设置,有缺陷,只有部分样式生效
添加到嵌入式的 css 样式中

2.1 HTML 代码

<div id="directly">直接设置属性</div>

2.2 JavaScript 代码

let div = document.querySelector('#directly')
div.style.backgroundColor = 'blue'
div.style.color = '#fff'

2.3 效果

image
image


三、style.cssText

本质就是设置元素的 style 的属性值
添加到嵌入式的 css 样式中

3.1 HTML 代码

<div id="cssText">cssText</div>

3.2 JavaScript 代码

let div = document.querySelector('#cssText')
div.style.cssText = 'background-color:green;'
div.style.cssText += 'color:#fff;'

3.3 效果

image

image


四、setAttribute()

增加一个指定名称和值的新属性,或者修改已有属性的值

4.1 HTML 代码

<link rel="stylesheet" href="css1.css" id="css">
<div id="setAttribute">setAttribute</div>

4.2 JavaScript 代码

// 可以直接修改 link 的引入文件
let css = document.querySelector('#css')
css.setAttribute('href', 'css2.css')

let div = document.querySelector('#setAttribute')
div.setAttribute('style', 'background-color:pink; color:#fff;')

4.3 效果

image

image


五、setProperty

用于新增一个新的 css 属性,或者修改已有的属性
添加到嵌入式的 css 样式中

5.1 HTML 代码

<div id="setProperty">setProperty</div>

5.2 JavaScript 代码

let div = document.querySelector('#setProperty')
div.style.setProperty('background-color', 'red')
div.style.setProperty('color', '#fff')

5.3 效果

image
image

完整代码

点击查看代码
<!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>

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/277233.html

(0)
上一篇 2022年7月27日
下一篇 2022年7月27日

相关推荐

发表回复

登录后才能评论