js如何获取兄弟、父类等节点

获取兄弟节点:
要获取兄弟节点,可以使用nextSiblingpreviousSibling属性。这两个属性分别代表下一个兄弟节点和上一个兄弟节点。需要注意的是,这两个属性获取到的节点可能是文本节点,而不是我们想要的HTML元素节点,所以我们需要进行判断。如果是文本节点,则继续获取下一个(或上一个)节点,直到获取到的节点是一个元素节点。

示例代码:

<div>
  <span>兄弟节点1</span>
  纯文本节点
  <p>兄弟节点2</p>
</div>

<script>
  const span = document.querySelector('span');
  console.log(span.nextSibling); // 获取的是右侧的文本节点
  console.log(span.nextSibling.nextSibling); // 获取的是兄弟元素节点<p>兄弟节点2</p>
</script>

获取父节点:
要获取父节点,我们可以使用parentNode属性,该属性返回父节点。同样需要注意的是,parentNode属性获取到的也可能是文本节点,所以我们也需要进行判断。

示例代码:

<div>
  <span>子节点</span>
</div>

<script>
  const span = document.querySelector('span');
  console.log(span.parentNode); // 获取的是父元素<div>
</script>

获取指定class的节点:
要获取指定class的节点,可以使用querySelectorquerySelectorAll方法。querySelector可以查找到满足条件的第一个节点,querySelectorAll可以查找到所有满足条件的节点。需要注意的是,传入的参数需要使用CSS选择器的语法格式,例如.class表示查找class为class的元素节点。

示例代码:

<div class="a">
  <div class="b">节点1</div>
  <div class="c">节点2</div>
</div>

<script>
  const node1 = document.querySelector('.b');
  console.log(node1); // 获取的是class为b的元素节点<div class="b">节点1</div>

  const nodeList = document.querySelectorAll('.c');
  console.log(nodeList); // 获取的是所有class为c的元素节点,返回一个NodeList对象
  console.log(nodeList[0]); // NodeList是一个类数组对象,可以通过下标获取
</script>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js如何获取兄弟、父类等节点 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • mysql中的base64函数

    MySQL中的base64函数 在MySQL中,有一个名为base64的函数,它可以将二进制数据编码成文本格式,同时也可以将文本格式的数据解码成二进制数据。它是一种常用的加密解密函数,下面我们来详细介绍一下MySQL中的base64函数的使用方法。 语法 base64函数的语法: BASE64(str) 其中,str为要进行编码的二进制数据或解码的文本数据。…

    其他 2023年3月29日
    00
  • C语言中的函数指针基础学习教程

    以下是针对“C语言中的函数指针基础学习教程”的完整攻略,包括什么是函数指针、如何定义和使用函数指针,以及实际应用示例。 函数指针是什么 函数指针是指向函数的指针,即指向函数在内存中的地址。 如何定义函数指针 函数指针的定义方式类似于函数的声明,如下所示: 返回值类型 (*指针变量名)(形参列表); 其中指针变量名是函数指针的名称,指针变量名前的*表示这是一个…

    other 2023年6月27日
    00
  • 使用Spring Boot Mybatis 搞反向工程的步骤

    使用Spring Boot和Mybatis进行反向工程是一个非常方便的方法,通过几个简单的步骤可以自动生成数据库操作的代码,这里我详细讲解一下具体的步骤。 1. 引入依赖 首先,需要在Maven或Gradle中添加对Spring Boot和Mybatis的依赖。例如,在Maven中可以如下添加: <dependencies> <depend…

    other 2023年6月27日
    00
  • Win10 19H1跳跃预览版怎么升级到18262版?

    Win10 19H1 是指Windows 10的2019年第一季度更新版本,是微软公司发布的Windows 10版本。现在我们需要升级到18262版。 以下是完整的升级步骤: 步骤一:备份重要文件 在升级之前,我们需要备份我们的重要文件。如此一来,一旦升级出现问题,你可以使用备份的数据还原电脑。 步骤二:检查计算机配置 在升级之前,我们需要检查我们的计算机是…

    other 2023年6月27日
    00
  • Linux与Windows硬盘资源互访

    Linux和Windows操作系统的文件系统不同,因此它们的硬盘资源不易互访,但我们可以使用一些工具实现它们之间的互访。 以下是Linux与Windows硬盘资源互访的完整攻略: 1. 安装必要的工具 我们需要在Linux和Windows系统中安装一些工具,才能使它们之间互访硬盘资源。 在Linux系统中使用以下命令安装ntfs-3g: sudo apt-g…

    other 2023年6月27日
    00
  • 微信小程序全局变量改变监听的实现方法

    微信小程序全局变量改变监听的实现方法攻略 在微信小程序中,要实现全局变量的改变监听,可以通过以下步骤进行操作: 步骤一:创建全局变量 首先,在小程序的app.js文件中创建一个全局变量,可以使用getApp()方法获取小程序实例,并在实例中定义全局变量。例如: // app.js App({ globalData: { count: 0 } }) 在上述示例…

    other 2023年7月29日
    00
  • window 下 win10 jdk8安装与环境变量的配置过程

    下面是详细的步骤: 安装 JDK8 下载 JDK8 安装包,可以从 Oracle 官网下载,选择对应操作系统的安装包,下载链接:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 双击下载好的安装包,开始安装。根据提示一步一步进行安装即可。 安装完成之后,打开 …

    other 2023年6月27日
    00
  • JVM类加载器之ClassLoader的使用详解

    介绍: JVM是Java虚拟机的缩写,负责Java程序的编译、解释与运行。而Java程序在被JVM虚拟机执行前,需要被编译成字节码。在Java程序的运行中,JVM会使用ClassLoader来加载这些字节码,并将其转化为Java可执行的字节码。ClassLoader的作用就是用来加载类的,加载的类可以来自本地文件系统、JAR包、网络以及其他的上层数据源。本文…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部