〖大前端 - 基础入门三大核心之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节点
相关推荐
大橙子额7 分钟前
【解决报错】Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
前端·javascript·vue.js
RFCEO7 分钟前
前端编程 课程十六、:CSS 盒子模型
css·前端基础课程·css盒子模型·css盒子模型的组成·精准控制元素的大小和位置·css布局的基石·内边距(padding)
WooaiJava1 小时前
AI 智能助手项目面试技术要点总结(前端部分)
javascript·大模型·html5
爱喝白开水a2 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
Never_Satisfied2 小时前
在JavaScript / HTML中,关于querySelectorAll方法
开发语言·javascript·html
董世昌412 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
WeiXiao_Hyy2 小时前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
吃杠碰小鸡3 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone3 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
xjt_09013 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js