H5获取DOM元素的方法及新增类样式操作

1.获取DOM元素
document.querySelector(".green");
document.querySelectorAll(“li”)[0];
案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .red{
            color: red;
        }
        .green{
            color: green;
        }
        .blue{
            color: blue;
        }
    </style>
</head>
<body>
<ul>
    <li>请选择</li>
    <li class="red">前端</li>
    <li class="green">java</li>
    <li class="blue">javascript</li>
    <li id="c">c++</li>
</ul>
<script>
    /*获取第一个li标签*/
    window.function(){
        /*ElementsByTagName获取的是数组*/
        /*索引:不直观 以后的数据都是从后台动态获取,前台动态生成添加*/
        /*var cli=document.getElementsByTagName("li")[1];
        console.log(cli);*/

        /*query:查询  Selector:选择器   querySelector(传入选择器名称)*/
        /*querySelector:获取单个元素,如果获取的元素不止一个,那么只会返回满足条件的第一个元素*/
        /*参数要求:如果是类选择器,必须添加.  如果是id选择器, 必须添加# ,否则当成标签处理*/
        var javaLi=document.querySelector(".green");
        //var javaLi=document.querySelector("#c");
        console.log(javaLi);

        /*querySelectorAll获取满足条件的所有元素--数组*/
        var allLi=document.querySelectorAll("li")[0];
        console.log(allLi);
    }
</script>
</body>
</html>

2.新增类样式操作
a) Node.classList.add(‘class’) 添加class
b) Node.classList.remove(‘class’) 移除class
c) Node.classList.toggle(‘class’) 切换class,有则移除,无则添加
d) Node.classList.contains(‘class’) 检测是否存在class
案例:
需求:
a.为第一个li元素添加样式,
b.为第二个li元素移除样式,
c.为第三个li元素切换样式,
d.判断第四个li元素是否包含某个样式


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .red{
            color:red
        }
        .green{
            color: green;
        }
        .blue{
            color: blue;
        }
        .underline{
            text-decoration: underline;
        }
    </style>
</head>
<body>
<ul>
    <li class="red">前端与移动开发</li>
    <li class="blue">java</li>
    <li>javascript</li>
    <li class="red">c++</li>
</ul>
<input type="button" value="为第一个li元素添加样式" id="add">
<input type="button" value="为第二个li元素移除样式" id="remove">
<input type="button" value="为第三个li元素切换样式" id="toggle">
<input type="button" value="判断第四个li元素是否包含某个样式" id="contain">
<script>
    window.function(){
        /*add:为元素添加指定名称的样式.一次只能添加一个样式*/
        document.querySelector("#add").function(){
            /*classList:当前元素的所有样式列表-数组*/
            document.querySelector("li").classList.add("red");
            document.querySelector("li").classList.add("underline");
            //document.querySelector("li").className="red underline"
            /*获取样式*/
            var result=document.querySelector("li").classList.item(2);
            console.log(result);
        }

        /*remove:为元素移除指定名称的样式(不是移除class属性),一次也只能移除一个*/
        document.querySelector("#remove").function(){
            document.querySelector(".blue").classList.remove("blue");
        }

        /*toggle:切换元素的样式:如果元素之前没有指定名称的样式则添加。如果有则移除*/
        document.querySelector("#toggle").function(){
            document.querySelectorAll("li")[2].classList.toggle("green");
        }

        /*contains:判断元素是否包含指定名称的样式,返回true/false*/
        document.querySelector("#contain").function(){
            var isContain=document.querySelectorAll("li")[3].classList.contains("red");
            console.log(isContain);
        }
    }
</script>
</body>
</html>

本文属个人学习整理记载

猜你喜欢

转载自blog.csdn.net/qq_43537987/article/details/89385783