DOM

41 阅读2分钟

1、childNodes

js
复制代码
    获取标签的所有子级节点

image.png

2、children

js
复制代码
    获取标签的所有子级元素节点
sequenceDiagram
Alice->>John: Hello John, how are you?
John-->>Alice: Great!
Alice-)John: See you later!

image.png

graph TD
Start --> Stop

3、firstChild

js
复制代码
    获取标签内的第一个子级节点

image.png

4、lastChild

js
复制代码
    获取标签内的最后一个节点

image.png

5、firstElementChild

js
复制代码
    获取 标签内第一个子级元素节点

image.png

6、lastElementChild

js
复制代码
    获取标签的最后一个子级元素节点

image.png

7、nextSibling

js
复制代码
    获取下一个兄弟节点

image.png

8、previousSibling

js
复制代码
    获取上一个兄弟节点

image.png

9、nextElementSibling

js
复制代码
    获取下一个兄弟元素节点

image.png

10、previousElementSibling

js
复制代码
    获取 上一级 兄弟元素节点

image.png

11、parentNode

js
复制代码
    获取到当前元素的父级

image.png

12、attributes

js
复制代码
    获取到当前标签的所有属性节点

image.png

13、节点属性

js
复制代码
    <ul a="周一来了">
        <li>国庆快乐</li>
    </ul>

    <script>
        const oUl = document.querySelector('ul')
        const elemNode = oUl.firstElementChild
        const textNode = oUl.firstChild
        const attriNode = oUl.attributes[0] 
    </script>

获取节点类型

js
复制代码
    console.log('元素节点:',elemNode.nodeType)
    console.log('元素节点:',textNode.nodeType)
    console.log('元素节点:',attriNode.nodeType)

image.png

获取节点名称

js
复制代码
    console.log('元素节点:',elemNode.nodeName)
    console.log('元素节点:',textNode.nodeName)
    console.log('元素节点:',attriNode.nodeName)

image.png

获取节点的值

js
复制代码
     console.log('元素节点:',elemNode.nodeValue)
     console.log('元素节点:',textNode.nodeValue)
     console.log('元素节点:',attriNode.nodeValue)

image.png

14、添加DOM

js
复制代码
    <script>
        const myDiv = document.createElement('div')
        myDiv.style.width = '100px'
        myDiv.style.height = '100px'
        myDiv.style.backgroundColor = 'red'
        document.querySelector('body').appendChild(myDiv)
    </script>

image.png

15、指定元素插入指定位置

js
复制代码
    <div class="div1">div1</div>
    <div class="div2">div2</div>
    <div class="div3">div3</div>
    <script>

        const myDiv = document.createElement('div')
        const div2 = document.querySelector('.div2')
        myDiv.style.width = '100px'
        myDiv.style.height = '100px'
        myDiv.style.backgroundColor = 'red'
        myDiv.innerHTML = 'div4'
        document.querySelector('body').insertBefore(myDiv,div2)
    </script>

image.png

16、删除/修改元素

js
复制代码
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .div1{
            width: 100px;
            height: 100px;
            background-color: yellow;
        }
        .div2{
            width: 100px;
            height: 100px;
            background: pink;
        }
        .div3{
            width: 100px;
            height: 100px;
            background: green;
        }
    </style>
</head>
<body>
    <div class="div1">div1</div>
    <div class="div2">div2</div>
    <div class="div3">div3</div>
    <script>

```js
    const myDiv = document.createElement('div')
    const div2 = document.querySelector('.div2')
    //删除 div2 
    div2.remove()
    
</script>
```

image.png

js
复制代码
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
```js

我是p标签

<script>
    const span1 = document.createElement('span')
    const p1 = document.querySelector('p')
    const div1 = document.querySelector('.div1')
    span1.innerHTML = '我是span标签'
    div1.replaceChild(span1,p1)

````js`

    </script>
</body>
</html>

image.png

17、克隆DOM

js
复制代码
    <!DOCTYPE html>
<html lang="en">

```js
Document * { padding: 0; margin: 0; } ul { width: 200px; height: 200px; background-color: pink; } stateDiagram-v2 [*] --> Still Still --> [*] Still --> Moving Moving --> Still Moving --> Crash Crash --> [*]
    ol {
        width: 200px;
        height: 200px;
        background-color: green;
        margin-top: 20px;
    }
</style>
  • 你好~
    </ol>
    <script>
        var myLi = document.querySelector('.box')
        var myOl = document.querySelector('ol')
        var cloneLi = myLi.cloneNode(true)
        myOl.appendChild(cloneLi)
    </script>
    
    ```

    image.png