〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性

  • 说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!
  • 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司担任研发部门CTO。
  • 荣誉:2022年度博客之星Top4、2023年度超级个体得主、谷歌与亚马逊开发者大会特约speaker、全栈领域优质创作者。



文章目录

  • [⭐ 改变元素节点的css样式](#⭐ 改变元素节点的css样式)
  • [⭐ 改变元素节点的HTML属性](#⭐ 改变元素节点的HTML属性)
  • [⭐ 扩展:nodeType常用属性值](#⭐ 扩展:nodeType常用属性值)

⭐ 改变元素节点的css样式

改变元素节点的CSS样式的语法示例:

js 复制代码
oBox.style.backgroundColor = 'red';
oBox.style.backgroundImage = 'url(images/1.png)';
oBox.style.fontSize = '32px';

需要注意的是,属性的名字要用"驼峰"的形式去写(因为js中短横线就是减号,所以不能用短横线写)。

所以,想要改变一个css的属性值,就用上面的语法形式写就可以了。

为什么要使用js来改变css的样式呢?这个在后面写到事件监听的时候会有很大的用处,比如监听到鼠标点击按钮的事件,就可以利用js改变按钮的样式,呈现出很好的动画效果。

示例代码:

html 复制代码
<!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>
    <style>
        #box {
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div id="box"></div>
    <script>
        var box = document.getElementById('box');  //获取元素节点
        box.style.backgroundColor = 'green';  //改变背景颜色
        box.style.borderRadius = '50%';  //改变圆角
    </script>
</body>
</html>

设置的样式是通过"行内"的形式设置的:

⭐ 改变元素节点的HTML属性

标准W3C属性,如src、href等等,只需要直接打点进行更改即可

示例代码:

html 复制代码
<!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>
</head>
<body>
    <img src="/images/1.jpg" alt="" id="pic">
    <a href="https://www.baidu.com/" id="baidu">去百度</a>

    <script>
        //获取节点
        var oPic = document.getElementById('pic');
        var oLink = document.getElementById('baidu');

        //更改HTML属性
        oPic.src = '/images/2.jpg';
        oLink.href = 'https://news.baidu.com/';
        oLink.innerText = '去百度新闻';
    </script>
</body>
</html>

不符合W3C标准的属性,如data-n等等,需使用setAttribute()getAttribute()来设置、读取。

setAttribute()设置属性值

getAttribute()获取属性值

不符合W3C标准的属性是在开发过程中自定义的,为了在具体的业务场景使用,在这里不必纠结这个属性的意义。

示例代码:

html 复制代码
<body>
    <div id="box"></div>
    <script>
        var box = document.getElementById('box');
        box.setAttribute('data-n', 10);    //设置一个不符合W3C规范的属性
        var n = box.getAttribute('data-n');   //获取一个不符合W3C规范的属性值
        alert(n);
    </script>
</body>

⭐ 扩展:nodeType常用属性值

节点的nodeType属性可以显示这个节点具体的类型。

nodeType 节点类型
1 元素节点,例如<p><div>
3 文字节点
8 注释节点
9 document节点
10 DT节点
相关推荐
musk12121 分钟前
electron 打包太大 试试 tauri , tauri 安装打包demo
前端·electron·tauri
翻滚吧键盘30 分钟前
js代码09
开发语言·javascript·ecmascript
万少1 小时前
第五款 HarmonyOS 上架作品 奇趣故事匣 来了
前端·harmonyos·客户端
OpenGL1 小时前
Android targetSdkVersion升级至35(Android15)相关问题
前端
rzl021 小时前
java web5(黑马)
java·开发语言·前端
Amy.Wang1 小时前
前端如何实现电子签名
前端·javascript·html5
海天胜景1 小时前
vue3 el-table 行筛选 设置为单选
javascript·vue.js·elementui
今天又在摸鱼1 小时前
Vue3-组件化-Vue核心思想之一
前端·javascript·vue.js
蓝婷儿1 小时前
每天一个前端小知识 Day 21 - 浏览器兼容性与 Polyfill 策略
前端
百锦再1 小时前
Vue中对象赋值问题:对象引用被保留,仅部分属性被覆盖
前端·javascript·vue.js·vue·web·reactive·ref