认识DOM及元素的获取

—— 此篇开始 ——


什么是DOM

DOM全称Document Object Model,即文档对象模型,其就是一整套操作文档流的属性和方法,本质就是在操作页面元素,如操作页面元素改变文本内容、操作页面元素改变样式、操作删除一个页面元素、操作增加一个页面元素等

DOM以树状结构出现,顶层为document,最大的标签是html,下面分成head和body,body下面就是一些元素标签,操作DOM就是对这个"树上"的某个树杈进行修剪或者修饰


操作DOM的过程

1. 找到你要操作的"树杈":获取元素

2. 对这个枝杈进行各种操作:操作 API


获取元素 

1. id直接使用

        给一个元素标签设置一个id属性,id名是一个天生的变量,可以在js内直接使用,表示的就是这个标签元素,强烈不推荐

2. 获取非常规标签(html,body,head)

        1.html:语法:document.documentElement,得到的就是该页面的html标签

        2.head:语法:document.head,得到的就是该页面的head标签

        3.body:语法:document.body,得到的就是该页面的body标签

        代码:      

<!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>
    <script>
        //获取html
        var html = document.documentElement
        console.log (html);

        //获取head
        var head = document.head
        console.log (head);

        //获取body
        var body = document.body
        console.log (body);
    </script>
</body>
</html>

        结果: 

 

3.  获取常规标签(所有标签)

1. 根据id获取元素

        语法:document.getElementById("id名称")

        返回值:如果页面中有id对应的元素,那么就是这个元素,如果没有这个元素,那么就是null

        代码:

<!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 id="box">你好世界</div>
    <script>
        var box = document.getElementById('box') //根据id获取元素
        console.log (box);
    </script>
</body>
</html>

        结果:

 

2. 根据类名获取元素 

        语法:document.getElementsByClassName("类名")

        返回值:是一个伪数组,如果页面上有类名对应的元素,那么有多少获取多少,放在伪数组内返回,如果页面内没有类名对应的元素,那么就是一个空的伪数组,注意:你拿到的不是这个元素,而是一个集合,集合内的[n]才是元素

        代码:      

<!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">1111</div>
    <p class="box">22222</p>
    <script>
        var boxs = document.getElementsByClassName('box') //根据类名获取元素
        console.log (boxs);
        console.log (boxs[1]);
    </script>
</body>
</html>

        结果:

        

3. 根据标签名获取元素 

        语法:document.getElementsByTagName('标签名')

        返回值:是一个伪数组,如果页面上有标签名对应的元素,那么有多少获取多少,放到伪数组进行返回,如果页面上没有,那么就是个空的伪数组,注意:你拿到的不是这个元素,而是一个集合,集合内的[n]才是元素

        代码:

<!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>
    <ul>
        <li>1</li>
    </ul>
    <script>
        var ul = document.getElementsByTagName('ul') //根据标签名获取元素
        console.log (ul);
    </script>
</body>
</html>

      结果:

 

4. 根据name属性来获取元素

        语法:document.getElementsByName('name属性')

        返回值:是一个伪数组,如果页面上有name属性,那么有多少获取多少,放在伪数组内进行返回,如果页面上没有,那么就是个空的伪数组,注意:你拿到的不是这个元素,而是一个集合,集合内的[n]才是元素

        代码:

<!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>
    <input type="text" name="username" id="">
    <div name="username">111</div>
    <script>
        var usernames= document.getElementsByName('username') //根据name属性来获取元素
        console.log (usernames);
    </script>
</body>
</html>

        结果:

 

5.根据选择器获取一个元素 

        语法:document.quarySelector('选择器')

        选择器:CSS中捕获元素的内容,如.box、#box、div、li:nth-children(1)等

        返回值:如果页面上有该选择器对应的元素,那么就是满足条件的第一个,如果页面上没有该选择起对应的元素,那么就是null

        代码:

<!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 id="box">你好世界</div>
    <div class="box">1111</div>
    <p class="box">22222</p>
    <script>
        var div = document.querySelector('div') //通过选择器获取第一个div
        console.log(div);
        var box = document.querySelector('.box') //通过选择器获取第一个类名为box的
        console.log(box);
    </script>
</body>
</html>

        结果:

 

6.根据选择器获取一组元素

        语法:document.querySelectorAll('选择器')

        返回值:是个伪数组,如果页面上有该选择器对应的元素,那么有多少获取多少,放在伪数组内返回,如果页面上没有该选择器对应的元素,那么就是空的伪数组

        代码:

<!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 id="box">你好世界</div>
    <div class="box">1111</div>
    <div name="username">111</div>
    <script>
        var divs = document.querySelectorAll('div') //通过选择器获取所有的div
        console.log (divs);
    </script>
</body>
</html>

        结果:

 


 —— 此篇完 ——

        

猜你喜欢

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