js-12Dom节点对象

简介: js-12Dom节点对象

js-12Dom节点对象


01Dom节点对象

1.dom角度

整个html文档看作一个文档对象document,
每个html标签元素看作dom节点对象,
每个html标签元素的内容、属性也被看作是dom节点对象
=> html文档中所有元素都被看作是dom节点对象

2.dom节点对象分类

- html标签元素   元素节点
- 标签内容     文本节点
- 标签属性     属性节点
...

3. 整个html文档dom节点构成一个树形结构

            document
                            |
                       html(根节点)
                          |
                  -------------------     
                head              body
                 |                 |
            -------             ----------
            meta               div       ul
                               ---      ------
                                       |     |
                                |   *  li *  li  *  
                                h2      1    2
                                 |   
                                元素一
注意:* 代表空白文本节点
由于当前每次修改机器就会渲染一次,效率比较低下
后续 
将此结构进行映射得到虚拟节点进行修改
全部改完,再进行渲染,提高效率

4. 层次结构

节点关系:父节点 子节点 兄弟节点

5.元素节点之间有空白的文本节点

02获取节点对象 【重点】

1.getElements系列

2.querySelector系列

3.层次结构

 3.1查找元素节点:
          父元素节点               parentElement
                所有子元素节点            children
                下一个兄弟元素节点        nextElementSibling
                上一个兄弟元素节点        previousElementSibling
                父节点的第一个子元素节点   firstElementChild
                父节点的最后一个子元素节点 lastElementChild            
3.2查找节点:  其中包括空白文本节点
        父节点               parentNode
                所有子节点            childNodes
                下一个兄弟节点         nextSibling
                上一个兄弟节点         previousSibling
                父节点的第一个子节点    firstChild
                父节点的最后一个子节点  lastChild
3.3非常规节点
               根节点 html:  document.documentElement
               body:  document.body
               head:  document.head

03.动态操作节点 【重点】

1.创建节点

1. 创建节点
              =>创建元素节点
                var divEle = document.createElement('div') //<div></div>
              =>创建文本节点
                var textNode = document.createTextNode('元素二')

2.添加节点

 2. 添加节点
              =>给父节点追加子节点 
                 父节点.appendChild('子节点')
              =>在父节点指定子节点前插入新的子节点
                 父节点.insertBefore('新子节点','指定子节点')
注意:开发中常用模板字符串来创建内容,将内容进行赋值,避免反复的创建节点追加节点

3.删除节点

3. 删除节点
              => 删除父节点下的子节点
                  父节点.removeChild(子节点)
                 子节点.remove() 【常用】
 function test5(){
            //创建h2节点 模板字符
            var str = `<h2>我是模板字符串创建的h2</h2>`
            // 把内容给div
            document.body.firstElementChild.innerHTML = str
        }
        test5()

4.替换节点

4. 替换节点
              新节点替换父节点下的子节点
               父节点.replaceChild(新节点,旧节点)

5.复制 | 克隆节点

5. 克隆节点
              节点.cloneNode(true|false|不写)
                 <div>
                     <p>元素一</p>
                 </div>
              =>参数为true, 克隆节点和所有子节点 
              =>参数为false或者不写, 只克隆节点 div
5. 克隆节点
              节点.cloneNode(true|false|不写)
                 <div>
                     <p>元素一</p>
                 </div>
              =>参数为true, 克隆节点和所有子节点 
              =>参数为false或者不写, 只克隆节点 div






相关文章
|
6天前
|
XML JavaScript 数据格式
XML DOM - 导航节点
在XML DOM中,节点导航涉及利用如parentNode、childNodes、firstChild、lastChild、nextSibling和previousSibling等属性。通过这些关系,可以访问和操作XML文档结构。例如,给定一个XML文档,可以使用getElementsByTagName找到特定元素,并通过parentNode属性获取该元素的父节点。在提供的实例中,代码加载&quot;books.xml&quot;,选取第一个&lt;book&gt;元素,并打印出其父节点的名称。
|
6天前
|
XML JavaScript 前端开发
DOM 属性列表(命名节点图 Named Node Map)
这段内容介绍了如何使用JavaScript操作XML文档中的DOM属性。通过`getElementsByTagName`获取元素后,`attributes`属性返回一个命名节点图(Named Node Map),表示元素的属性列表,该列表会自动更新。示例代码展示了加载&quot;books.xml&quot;,获取第一个`&lt;book&gt;`元素的属性列表,然后利用`getNamedItem()`方法获取&quot;category&quot;属性的值并输出,同时显示属性数量。
|
6天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文介绍了如何遍历XML文档的DOM节点树。通过循环节点,可以访问并处理每个元素,如提取值。示例代码展示了加载XML字符串到`xmlDoc`后,遍历根元素的所有子节点,打印出节点名及文本值,例如:&quot;title: Everyday Italian&quot;、&quot;author: Giada De Laurentiis&quot;和&quot;year: 2005&quot;。
|
1天前
|
JavaScript
DOM 属性列表(命名节点图 Named Node Map)
`DOM`的`Named Node Map`是元素节点的属性列表,类似节点列表但有区别。当属性增删时,列表自动更新。示例代码加载&quot;books.xml&quot;,获取第一个`&lt;book&gt;`元素的属性节点列表,`x.length`表示属性数量,`x.getNamedItem(&quot;category&quot;).nodeValue`显示&quot;category&quot;属性值。输出为:`cooking`和`1`,表示类别为烹饪且有1个属性。
|
1天前
|
XML JavaScript 前端开发
XML DOM 遍历节点树
```markdown 遍历XML DOM节点树涉及在文档中循环移动。以下示例展示如何遍历并显示所有子节点的名称和值: ``` ```xml &lt;!DOCTYPE html&gt; &lt;output&gt; title: Everyday Italian author: Giada De Laurentiis year: 2005 &lt;/output&gt; ``` ```javascript // 加载XML到xmlDoc // 获取根元素子节点 // 对每个子节点,打印节点名和文本节点值 ```
|
2天前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法用于访问XML文档中的节点。节点可按三种方式获取:使用该方法、循环遍历节点树或通过节点关系导航。`getElementsByTagName()` 返回一个节点列表,类似数组。示例代码加载&quot;books.xml&quot;到`xmlDoc`,并将结果存储在变量`x`中。
|
2天前
|
XML JavaScript 数据格式
XML DOM - 导航节点
在XML DOM中,节点导航涉及利用关系如`parentNode`, `childNodes`, `firstChild`, `lastChild`, `nextSibling`和`previousSibling`。示例展示了如何找到`&lt;book&gt;`元素的父节点,通过`getElementsByTagName`获取第一个`&lt;book&gt;`元素,然后输出其`parentNode.nodeName`。
|
3天前
|
XML JavaScript 数据格式
DOM 节点列表长度(Node List Length)
`length`属性用于获取DOM节点列表的元素数量。在示例中,加载&quot;books.xml&quot;后,通过getElementsByTagName(&quot;title&quot;)获取标题节点列表,然后使用`for`循环遍历列表,输出每个标题的文本内容。此代码演示了如何处理XML文档中的节点集合。
|
3天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文介绍了如何遍历XML文档的节点树。通过循环移动,可以访问并处理每个节点,例如提取元素值。提供的实例展示了如何加载XML到DOM,获取根元素的子节点,并打印其名称和值,以“title: Everyday Italian, author: Giada De Laurentiis, year: 2005”为例。
|
4天前
|
JSON 前端开发 JavaScript
前端 JS 经典:JSON 对象
前端 JS 经典:JSON 对象
8 0