DOM元素的操作2

—— 此篇开始 ——


1.操作元素的样式

1.设置元素的行内样式

        语法:元素.style.样式名 = 样式值,给元素设置行内样式

        注意:样式名带有中划线的,需要写成驼峰或者数组关联语法

2.获取元素的行内样式

        语法:元素.style.样式名

        得到:该元素指定样式的值

        注意:只能拿到行内样式的值,非行内样式的值拿不到,样式名带有中划线的,需要写成驼峰或者数组关联语法

3.获取元素非行内样式

标准浏览器:

        语法:window.getComputedStyle(要获取的元素).样式名

        返回:该元素指定样式对应的值

        注意:样式名带有中划线的,需要写成驼峰或者数组关联语法,行内和非行内都能拿到样式值,但是只能在标准浏览器下使用

IE低版本:

        语法:元素.currentStyle.样式名

扫描二维码关注公众号,回复: 16729413 查看本文章

        得到:该元素指定样式对应的值

        注意:样式名带有中划线的,需要写成驼峰或者数组关联语法,行内和非行内都能拿到样式值,但是只能在IE低版本浏览器下使用

4.代码

<!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>
        div{
            height: 100px;
        }
    </style>
</head>
<body>
    <div style="width:100px">你好世界</div>
    <script>
        //1.设置元素的行内样式
        var box = document.getElementsByTagName('div')[0]
        console.log (box);
        box.style.color = 'skyblue'

        //2.获取元素的行内样式
        console.log (box.style.width);
        console.log (box.style.height); //用的非行内式

        //3.获取元素非行内样式
        //标准浏览器
        var res = window.getComputedStyle(box).height
        console.log (res);
    </script>
</body>
</html>

结果:

 


2.操作元素类名

1.className

        实际上就是操作元素的原生属性,只不过js内class是一个关键字,所以我们操作的原生属性改名叫做 className

        读取:

                语法:元素.className

                得到:元素的完整类名,是一个字符串形式

        写入:

                语法:元素.className = '值'

                作用:设置元素类名,完全覆盖式的设置

                追加:

                        语法:元素.className += '值'

                        注意:值的位置要书写一个空格

        代码: 

<!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>
    <div class="box box2"></div>
    <script>
        var div = document.querySelector('div')

        console.log (div.className);

        div.className = 'zs'
        console.log (div);

        div.className += ' ls'
        console.log (div);
    </script>
</body>
</html>

        结果: 

 

2.classList

        每一个元素有一个属性叫做classList,是一个类似数组的集合,里面记录了元素所有的类名

        添加一个类名:

                语法:元素.classList.add('要添加的类名')

                作用:给该元素添加一个类名,但是重复的不会添加进去

        删除一个类名:

                语法:元素.classList.remove('要删除的类名')

                作用:给该元素删除一个类名

                切换一个类名:

                        语法:元素.classList.toggle('要切换的类名')

                        作用:该元素切换一个类名

                        切换:有就删除,没有就添加

        代码: 

<!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>
    <button>切换类名</button>
    <div class="box box2"></div>
    <script>
        var div = document.querySelector('div')
        var btn = document.querySelector('button')

        console.log (div.classList);
        div.classList.add('ww')
        console.log (div);
        div.classList.remove('ls')
        console.log (div);

        btn.onclick = function(){
            div.classList.toggle('ww')
            console.log (div);
        }
    </script>
</body>
</html>

        结果: 


—— 此篇完 —— 

 

 

 

猜你喜欢

转载自blog.csdn.net/m0_55868872/article/details/126433505