在 JavaScript 中提取元素的第一个子元素
在本篇文章中,我们将学习在 JavaScript 中提取元素的第一个子元素。
使用 Node.firstChild 在 JavaScript 中提取元素的第一个子元素
Node.firstChild 返回树中节点的第一个子节点,如果节点没有子节点则返回 null。 这是 Node 接口的只读 firstChild 属性。
语法:
Node.firstChild
例如,我们有一个显示 Hello World! 的段落标签。 它里面的文本在另一个 span 标签中。
HTML 代码:
<p id="firstPara">
<span>Hello World!</span>
</p>
JavaScript 代码:
const firstPara = document.getElementById('firstPara');
console.log(firstPara.firstChild);
输出:
"#text"
当你在任何浏览器中运行上面的代码时,浏览器的控制台都会显示#text。 这是因为默认情况下会插入一个文本节点,以在段落结束标记和跨度开始标记之间保留空白。
每个空白自动创建一个#text 节点,从单个空格到多个空格、换行符、制表符等。
为避免文本节点问题,您可以从源中删除空格或使用 Element.firstElementChild 仅返回第一个元素节点。
使用 Node.childNodes 在 JavaScript 中提取元素的第一个子节点
Node.childNodes
返回指定元素的子节点的活动 NodeList,索引 0 分配给第一个子节点。 这是 Node 接口的只读 childNodes 属性。
子节点包含项目、文本和评论。
节点集合的元素是对象,而不是字符串。 要从节点对象中检索数据,请使用它们的属性。
例如,要获取第一个子节点的名称,可以使用 elementNodeReference.childNodes[0].nodeName。
默认情况下,ChildNodes 包括所有子节点,包括元素和非元素。 它返回一个包含节点子节点的活动 NodeList。
例如,我们有一个显示 Hello World! 的段落标签。 它里面的文本在另一个 span 标签中。
HTML 代码:
<p id="firstPara">
<span>Hello World!</span>
</p>
JavaScript 代码:
const firstPara = document.getElementById('firstPara');
console.log(firstPara.childNodes[0]);
输出:
"#text"
与上一节类似,默认情况下,插入一个文本节点以在段落标记的末尾和 span 标记的开头之间保留空白。
使用 Element.children 在 JavaScript 中提取元素的第一个子元素
Element.children 属性返回一个实时 HTML 集合,其中包含调用它的元素的所有子元素。
Element.children 和 Node.childNodes 之间的唯一区别是 Element.children 仅包含元素节点,而 Node.childNodes 获取所有子节点,包括非元素节点,如文本和注释。
HTML 集合是节点的 DOM 元素子元素的活动的、有序的集合。 您可以使用 item()
方法访问集合的每个子节点。
例如,我们有一个显示 Hello World! 的段落标签。 它里面的文本在另一个 span 标签中。
HTML 代码:
<p id="firstPara">
<span>Hello World!</span>
</p>
JavaScript 代码:
const firstPara = document.getElementById('firstPara');
console.log(firstPara.children[0]);
输出:
"Hello World!"
当你在任何浏览器中运行上面的代码时,浏览器的控制台都会显示“Hello World!”。 这是因为此属性仅返回调用节点的 DOM 元素。
相关文章
在 JavaScript 中创建自定义警告框
发布时间:2023/06/03 浏览次数:64 分类:JavaScript
-
本文将介绍如何使用 jQuery UI、SweetAlert2 和自定义警报功能在 JavaScript 中创建自定义警报框。使用 jQuery UI 创建自定义警告框 我们可以使用 jQuery UI 来模仿 JavaScript 本机 alert() 函数的功能。
JavaScript 剪贴板数据
发布时间:2023/06/03 浏览次数:105 分类:JavaScript
-
本篇文章将介绍在 JavaScript 中检测粘贴事件上的剪贴板数据。JavaScript 剪贴板数据。当用户通过浏览器 UI 启动粘贴操作时,将引发粘贴事件。
在 JavaScript 中添加 Vector 类
发布时间:2023/06/03 浏览次数:180 分类:JavaScript
-
本文将教您如何使用 for 循环、ES6 Map、ES6 类和扩展原生 Array 类在 JavaScript 中添加向量。您可以使用 for 循环在 JavaScript 中添加两个向量。 同时,向量应该是 JavaScript 数组。
JavaScript 中的行继续符
发布时间:2023/06/03 浏览次数:60 分类:JavaScript
-
这个简短的 JavaScript 文章涵盖了 JavaScript 中的词法语法。 此外,还将使用各种新的换行技术深入介绍字符串,以及在处理这些字符串时如何处理换行符。JavaScript 中的词法语法
使用 JavaScript 在没有插件的情况下输入文本掩码
发布时间:2023/06/03 浏览次数:196 分类:JavaScript
-
JavaScript 输入掩码或掩码文本框是一种控件,它为用户提供了一种简单可靠的方式来收集基于标准掩码的输入。 在本文中,我们将探索使用 JavaScript 在没有插件的情况下进行输入文本屏蔽。
在 JavaScript 中获取域名
发布时间:2023/06/03 浏览次数:122 分类:JavaScript
-
在本文中,我们将学习如何使用 JavaScript 事件和函数在网页执行期间以编程方式获取域名。我们使用域名从客户端应用程序访问网站或网页。
在 JavaScript 中清除 canvas 画布
发布时间:2023/06/03 浏览次数:166 分类:JavaScript
-
本文介绍如何在 JavaScript 中清除画布。在 JavaScript 中清除画布 canvas 元素帮助我们借助 JavaScript 绘制图形。 画布只是图形的容器,它需要JavaScript来绘制图形。
从 Java 代码调用外部 JavaScript 函数
发布时间:2023/06/03 浏览次数:150 分类:JavaScript
-
在本文中,我们将学习如何在 Java 程序中包含 JavaScript 源代码并从 Java 代码调用 JavaScript 函数。
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。