query获取整个节点html,JavaScript中querySelector()获取HTML元素的方法介绍

本文介绍了JavaScript中的querySelector()和querySelectorAll()方法,用于选择和获取HTML元素。querySelector()返回文档中匹配CSS选择器的第一个元素,而querySelectorAll()返回所有匹配的元素集合。文中通过实例展示了如何根据ID、Class属性选择元素,并演示了如何遍历querySelectorAll()返回的NodeList。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QuerySelector()是一种可以从JavaScript 检测和获取任意HTML元素的方法,虽然JavaScript从开始就有可以获得HTML元素的getElemenById()和getElemetnsByClasNamo()等方法,但是,如果使用querySelector(),则可以在jQuery意义上有选择地指定HTML元素,而无需了解id属性值,class属性值等。

09337223cd220ae37c3b6ab1b1fe59a6.png

简而言之,就是可以使用querySelector()检索任何HTML元素。

我们先来看一下querySelector()的基本语法

通常将在目标范围上执行querySelector()。document.querySelector( CSS选择器 )

在这种情况下将对整个document执行querySelector()。可以通过为参数指定类似jQuery的CSS选择器来获取任意HTML元素。

需要注意的是,程序在获取第一个匹配的HTML元素时就会结束。

也就是说,如果要获取多个元素就需要来创建一个循环过程,或者使用我们将在后面会说到的querySelectorAll().

我们继续来看如何使用querySelector()?

获取具有ID和Class属性的HTML元素

示例如下

HTML

标题示例

内容示例

JavaScriptvar elem1 = document.querySelector('.sample');

var elem2 = document.querySelector('#test');

console.log(elem1);

console.log(elem2);

运行结果如下

7c95d18c42ff16b8df6f4c585213b44f.png

可以看到querySelector()的每个参数都指定了一个CSS选择器。

由此,同样的querySelector()也可以根据参数的指定方法取得任意的HTML要素。

从执行结果中可以看出元素已被获取。

下面我们就来看querySelectorAll()的使用方法

querySelectorAll()可以获取多个HTML元素。

我们先来看一下它的基本语法document.querySelectorAll(CSS选择器)

这样,指定参数的方法和目标的范围与querySelector()相同。

最大的区别是你可以获得所有匹配的HTML元素!

由于queryselector()只能检索第一个匹配的元素,所以我们获取多个元素就可以使用querySelectorAll()。

我们来看具体的示例

HTML代码

  • 列表1
  • 列表2
  • 列表3

在该示例中,排列了多个列表元素。

要检索所有此列表元素,可以执行以下操作

JavaScriptvar elem = document.querySelectorAll('.list');

console.log(elem);

在此示例中,类属性值“list”被指定为querySelectorAll()的参数。

这将指定所有列表元素,因此可以获得所有列表项。

当然,你可以按原样设置“li”元素,但是要注意与其他列表元素的平衡。

querySelectorAll()获取的元素称为NodeList,存储类似于数组的数据结构。

下面我们使用'forEach'一次处理一个元素,它可以有效地重复处理数组。var elem = document.querySelectorAll('.list');

elem.forEach(function(value) {

console.log(value);

})

运行结果如下

563f153a53416be61639c03491e37a1f.png

在此示例中,使用querySelectorAll()获得的结果由forEach语句循环。

通过指定参数“value”,可以像上述结果一样获得每个HTML元素。

注意:可以对使用querySelectorAll()获取的HTML元素执行任意的处理!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值