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






相关文章
|
3天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
3天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
13天前
|
XML 编解码 JavaScript
DOM(文档对象模型)和 BOM(浏览器对象模型)
【10月更文挑战第19天】在前端开发中,理解 DOM(文档对象模型)和 BOM(浏览器对象模型)是至关重要的。它们是 Web 开发的基础,为我们提供了与网页文档和浏览器进行交互的能力。
|
15天前
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
|
15天前
|
JavaScript
HTML DOM 节点
HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。
|
25天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树
|
24天前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
26天前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
27天前
|
存储 JavaScript 前端开发
JavaScript 对象的概念
JavaScript 对象的概念
34 4
|
25天前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
27 1