JavaScript 获取节点的子元素

JavaScript 获取节点的子元素

在JavaScript中,父节点可以有一个或多个子元素。那么如何获取节点的子元素是一个问题。

在这一节中,我们将讨论和研究如何在JavaScript中获取节点的子元素。

要访问父节点的子元素JavaScript,我们可以使用以下几种方法:

  • 获取节点的第一个子元素
  • 获取节点的最后一个子元素
  • 获取节点的所有子元素

让我们逐个讨论每种方法。

示例

这是一个示例代码,将帮助我们理解如何获取特定节点的子元素:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript example to Get Child Elements</title>
</head>
<body>
  <ul id="person">
    <li class="class1">Category</li>
    <li>Male or Female</li>
    <li class="class 2">Groups</li>
    <li>Young</li>
    <li>Old</li>
    <li>Child</li>
    <li class="class3">All together</li>
  </ul>
</body>
</html>

现在,使用这个示例代码,我们将了解之前描述的每种方法。

获取节点的第一个子元素

要获取节点的第一个子元素,需要使用 元素的firstChild属性

语法:

let firstChild = parentElement.firstChild;

在上述的语法中,变量 firstchild 将保存第一个子元素的值,而 parentElement 是我们要获取第一个子元素值的父节点。

注意事项:

  • 如果 parentElement 没有任何子元素,则 firstChild 属性将返回 null 作为输出值。
  • 如果属性找到父节点的第一个子节点,则它将返回该子节点,子节点可以是文本节点、元素节点或注释节点。

示例

让我们看下面的代码示例来理解如何使用firstChild属性:

let frstchild = document.getElementById('person');
console.log(frstchild.firstElementChild);

在上面的代码中,我们将 div 元素的id存储到
“` frstchild “` 变量中,然后我们获取了第一个子元素的值并将其存储到 “` frstchild “` 变量中。最后,我们输出了子元素的值。

在下面的输出中我们可以看到:

JavaScript 获取节点的子元素

获取节点的最后一个子元素

为了获取节点的最后一个子元素,我们需要使用 lastChild 属性。

语法:

let lastChild = parentElement.lastChild;

lastChild变量将保存父节点中最后一个子元素的值。

检查示例代码的下面部分:

let lstchild = document.getElementById('person');
console.log(lstchild.lastElementChild);

所以,在上面的代码中,我们可以看到,与检索节点的第一个子元素类似,我们使用了 lastElementChild 方法来获取最后一个子元素。 但是,如果父节点中没有子元素存在,则该属性返回 null 。 否则,如果存在,它将返回最后一个子元素的值。

我们有以下输出:

JavaScript 获取节点的子元素

需要注意的一点:

  • 你可能已经注意到,在示例代码中我们没有使用节点的lastChild和firstChild属性来获取父节点的最后一个和第一个子元素。这是因为,如果我们在示例代码中使用firstChild属性和lastChild属性,那么为了保持<ul><li>元素之间的空格,它会创建并输出“#text”节点。
  • 因此,如果有空格(单个空格和多个空格)、回车和制表符,浏览器会为了保持它们而创建“#text”节点。

获取节点的所有子元素

要获取节点的所有子元素,请使用childNodes或children属性。这两个属性都可以用于获取父节点的所有指定子元素,但两者之间的区别在于childNodes属性会返回所有带有任何节点类型的子元素,即任何节点类型的所有子节点的动态NodeList,而children属性只会返回具有节点类型的子元素节点。

让我们看一下这两个属性的语法:

childNodes属性

let children = parentElement.childNodes;

子元素属性

let children = parentElement.children;

查看下面的示例代码部分,了解如何获取所有子元素:

let person = document.getElementById('person');
let children = person.children;
console.log(children);

在代码部分中,我们正在使用children属性来获取父节点的所有子元素,如下面的快照所示:

JavaScript 获取节点的子元素

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程