摸鱼不如来了解一下--DOM文档对象模型(节点操作)

简介: 节点操作节点的三个基本属性节点类型nodeType

节点操作


节点的三个基本属性

节点类型nodeType


●   元素节点nodeType为1

●   属性节点nodeType为2

●   文本节点nodeType为3。(文本节点包括文字、空格、换行等)

节点名称nodeName

节点值nodeValue


节点层级


父级节点node.parentNode,获得的是最近的一级的父节点;若找不到则返回空null(要先获取子元素)

●   子节点parentNode.childNodes,返回包含指定节点的 子节点 的集合,注意是包含了元素节点,文本节点等(要先获取父元素)。若只想得到元素节点,则需要专门处理,所以一般不提倡使用childNodes

网络异常,图片无法展示
|


●   子节点parentNode.children,这是一个只读属性,返回所有的子元素节点(伪数组的形式)。他只返回子元素节点,其余类型的节点不返回

●   获取元素的第一个子节点parentNode.firstChild,找不到则返回null,注意是返回所有的子节点,包含元素节点,文本节点

●   获取第一个子元素节点parentNode.firstElementChild (有兼容性问题,IE9以上才支持)

●   获取元素的最后一个子节点parentNode.lastChild,找不到返回null

●   获取最后一个子元素节点parentNode.lastElementChild (有兼容性问题)

获取兄弟节点


node.nextSibling

●   返回当前元素的下一个兄弟节点,找不到就返回null。返回的节点包含所有类型的节点

node.previousSibling

●   返回当前元素的上一个兄弟节点

node.nextElementSibling

●   返回当前元素的下一个兄弟元素节点(兼容性问题,IE9以上才支持)

网络异常,图片无法展示
|

●   node.previousElementSibling

●   返回当前元素的上一个兄弟元素节点

网络异常,图片无法展示
|


●   parentNode.firstElementChild和parentNode.lastElementChild有兼容性问题,ie9以上才支持

动态创建元素节点


●   document.createElement('tagName'),只创建是不能够看见的,还需要添加节点

网络异常,图片无法展示
|

添加节点

●   node.appendChild(child)将一个节点添加到指定父节点的子节点集合的末尾(类似于css的after伪元素)

●   node.insertBefore(child,指定元素) 将一个节点添加到父节点的指定子节点的前面(类似于css的before伪元素)

网络异常,图片无法展示
|

删除节点


●   node.removeChild(child),删除父节点node中的某个子节点,返回删除的节点

网络异常,图片无法展示
|

复制节点

node.cloneNode()返回调用该方法的节点的一个副本

●   括号内无参数或者参数为false,则为浅拷贝,只克隆节点本身,不会克隆里面的子节点(只复制标签不复制内容)

●   node.cloneNode(true)为深拷贝,复制节点本身及里面所有子节点(既复制标签也复制内容)

创建和添加节点-->element.insertAdjacentHTML(position, text)

●   element.insertAdjacentHTML - Web API 接口参考 | MDN (mozilla.org)

●   position插入位置

网络异常,图片无法展示
|

●   text插入的内容(要以字符串的形式)

d1.insertAdjacentHTML('afterend', '<div id="two">two</div>');


目录
相关文章
|
18小时前
|
XML JavaScript 数据格式
XML DOM - 导航节点
在XML DOM中,节点导航涉及利用如parentNode、childNodes、firstChild、lastChild、nextSibling和previousSibling等属性。通过这些关系,可以访问和操作XML文档结构。例如,给定一个XML文档,可以使用getElementsByTagName找到特定元素,并通过parentNode属性获取该元素的父节点。在提供的实例中,代码加载&quot;books.xml&quot;,选取第一个&lt;book&gt;元素,并打印出其父节点的名称。
|
18小时前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文介绍了如何遍历XML文档的节点树。通过循环移动,可以访问每个元素并提取其值。示例代码展示了一个XML文档的遍历过程,输出了所有子节点的名称和值,如&quot;title: Everyday Italian&quot;等。首先加载XML到xmlDoc,然后获取根元素的子节点,并依次打印节点名及文本内容。
|
18小时前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法从 `xmlDoc` 加载 &quot;books.xml&quot;,创建一个包含匹配节点的节点列表。该列表可遍历以访问每个节点,实现对 XML 文档的节点访问和导航。
|
18小时前
|
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;属性的值并输出,同时显示属性数量。
|
18小时前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文介绍了如何遍历XML文档的DOM节点树。通过循环节点,可以访问并处理每个元素,如提取值。示例代码展示了加载XML字符串到`xmlDoc`后,遍历根元素的所有子节点,打印出节点名及文本值,例如:&quot;title: Everyday Italian&quot;、&quot;author: Giada De Laurentiis&quot;和&quot;year: 2005&quot;。
|
18小时前
|
XML 存储 JavaScript
XML DOM 节点
**DOM 把XML文档拆解为节点:** - 文档是个文档节点 - 每个元素是元素节点 - 文本、属性和注释各为独立节点 - 元素内的文本属于文本节点,如 `&lt;year&gt;2005&lt;/year&gt;` 中的 &quot;2005&quot; 是单独的文本节点,不是元素的值。
|
18小时前
|
JavaScript 前端开发
JavaScript 提供了多种方法来操作 DOM(文档对象模型)
【5月更文挑战第11天】JavaScript 用于DOM操作的方法包括获取元素(getElementById, getElementsByClassName等)、修改内容(innerHTML, innerText, textContent)、改变属性、添加/删除元素(appendChild, removeChild)和调整样式。此外,addEventListener用于监听事件。注意要考虑兼容性和性能当使用这些技术。
6 2
|
18小时前
|
JavaScript
DOM 节点列表长度(Node List Length)
`length`属性用于获取DOM节点列表的长度,允许遍历和处理节点。例如,加载&quot;books.xml&quot;到`xmlDoc`,通过`getElementsByTagName(&quot;title&quot;)`获取所有标题节点,然后使用循环输出每个&lt;title&gt;元素的文本内容。
|
18小时前
|
XML JavaScript 数据格式
Beautiful Soup 库的工作原理基于解析器和 DOM(文档对象模型)树的概念
【5月更文挑战第10天】Beautiful Soup 使用解析器(如 html.parser, lxml, html5lib)解析HTML/XML文档,构建DOM树。它提供方法查询和操作DOM,如find(), find_all()查找元素,get_text(), get()提取信息。还能修改DOM,添加、修改或删除元素,并通过prettify()输出格式化字符串。它是处理网页数据的利器,尤其在处理不规则结构时。
33 2
|
18小时前
|
JavaScript 前端开发 安全
javascript操作DOM的方法
javascript操作DOM的方法
12 0