DOM 文档对象模型

HTML 模板

代码语言:javascript
复制
<html>
    <head>
        <title>我是网站标题</title>
    </head>
    <body>
        <div class="box">
            <div class="box1"></div>
        </div>
    &lt;div name=&#34;xiaoming&#34;&gt;&lt;/div&gt;

    &lt;div id=&#34;box&#34;&gt;&lt;/div&gt;
&lt;/body&gt;

</html>

访问节点

通过 id 访问指定节点 getElementById

代码语言:javascript
复制
var node = document.getElementById('box')

通过 name 访问指定节点 getElementsByName

代码语言:javascript
复制
var node = document.getElementsByName('xiaoming')

通过标签名称访问指定节点 getElementsByTagName

代码语言:javascript
复制
var node = document.getElementsByTagName('div')

通过 class 访问指定节点 getElementsByClassName

代码语言:javascript
复制
var node = document.getElementsByClassName('box')

全能访问指定节点 querySelector

代码语言:javascript
复制
// 通过id访问
var node = document.querySelector('#box')

// 通过class访问
var node = document.querySelector('.box')

// 通过tag访问
var node = document.querySelector('div')

全能访问所有节点 querySelectorAll

代码语言:javascript
复制
// 通过id访问
var node = document.querySelectorAll('#box')

// 通过class访问
var node = document.querySelectorAll('.box')

// 通过tag访问
var node = document.querySelectorAll('div')

访问子节点 childNodes

代码语言:javascript
复制
node.childNodes

访问父节点 parentNode

代码语言:javascript
复制
node.parentNode

访问下一个兄弟节点 nextElementSibling

代码语言:javascript
复制
node.nextElementSibling

访问上一个兄弟节点 previousElementSibling

代码语言:javascript
复制
node.previousElementSibling

插入节点

插入子节点(排在最后) append

代码语言:javascript
复制
var node = document.querySelector('.box')

var newNode = document.createElement('div')

node.append(newNode)

插入子节点(排在最后) appendChild

代码语言:javascript
复制
var node = document.querySelector('.box')

var newNode = document.createElement('div')

node.appendChild(newNode)

在指定子节点前面插入节点 insertBefore

代码语言:javascript
复制
var node = document.querySelector('.box')

var childNode = document.querySelector('.box1')

var newNode = document.createElement('div')

node.insertBefore(newNode, childNode)

创建节点

创建元素节点 createElement

代码语言:javascript
复制
var newNode = document.createElement('div')

创建文本节点 createTextNode

代码语言:javascript
复制
var newTextNode = document.createTextNode('我是内容')

删除节点

删除当前节点 remove

代码语言:javascript
复制
var node = document.querySelector('.box')

node.remove()

删除子节点 removeChild

代码语言:javascript
复制
var node = document.querySelector('.box')

var childNode = document.querySelector('.box1')

node.removeChild(childNode)

修改节点

替换子节点 replaceChild

代码语言:javascript
复制
var node = document.querySelector('.box')

var childNode = document.querySelector('.box1')

var newNode = document.createElement('div')

node.replaceChild(newNode, childNode)