首页 web前端 js教程 JavaScript中querySelector()获取HTML元素的方法介绍

JavaScript中querySelector()获取HTML元素的方法介绍

Jan 08, 2019 pm 03:54 PM

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

JavaScript中querySelector()获取HTML元素的方法介绍

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

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

通常将在目标范围上执行querySelector()。

document.querySelector( CSS选择器 )
登录后复制

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

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

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

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

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

示例如下

HTML

<h1 class="sample">标题示例</h1>
<p id="test">内容示例</p>
登录后复制

JavaScript

var elem1 = document.querySelector(&#39;.sample&#39;);
var elem2 = document.querySelector(&#39;#test&#39;);
console.log(elem1);
console.log(elem2);
登录后复制

运行结果如下

JavaScript中querySelector()获取HTML元素的方法介绍

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

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

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

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

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

我们先来看一下它的基本语法

document.querySelectorAll(CSS选择器)
登录后复制

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

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

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

我们来看具体的示例

HTML代码

<ul>
  <li class="list">列表1</li>
  <li class="list">列表2</li>
  <li class="list">列表3</li>
</ul>
登录后复制

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

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

JavaScript

var elem = document.querySelectorAll(&#39;.list&#39;);
console.log(elem);
登录后复制

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

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

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

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

下面我们使用'forEach'一次处理一个元素,它可以有效地重复处理数组。

var elem = document.querySelectorAll(&#39;.list&#39;);
elem.forEach(function(value) {
    console.log(value);
})
登录后复制

运行结果如下

JavaScript中querySelector()获取HTML元素的方法介绍

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

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

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

以上是JavaScript中querySelector()获取HTML元素的方法介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何创建和发布自己的JavaScript库? 如何创建和发布自己的JavaScript库? Mar 18, 2025 pm 03:12 PM

文章讨论了创建,发布和维护JavaScript库,专注于计划,开发,测试,文档和促销策略。

如何在浏览器中优化JavaScript代码以进行性能? 如何在浏览器中优化JavaScript代码以进行性能? Mar 18, 2025 pm 03:14 PM

本文讨论了在浏览器中优化JavaScript性能的策略,重点是减少执行时间并最大程度地减少对页面负载速度的影响。

前端热敏纸小票打印遇到乱码问题怎么办? 前端热敏纸小票打印遇到乱码问题怎么办? Apr 04, 2025 pm 02:42 PM

前端热敏纸小票打印的常见问题与解决方案在前端开发中,小票打印是一个常见的需求。然而,很多开发者在实...

如何使用浏览器开发人员工具有效调试JavaScript代码? 如何使用浏览器开发人员工具有效调试JavaScript代码? Mar 18, 2025 pm 03:16 PM

本文讨论了使用浏览器开发人员工具的有效JavaScript调试,专注于设置断点,使用控制台和分析性能。

谁得到更多的Python或JavaScript? 谁得到更多的Python或JavaScript? Apr 04, 2025 am 12:09 AM

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

如何使用源地图调试缩小JavaScript代码? 如何使用源地图调试缩小JavaScript代码? Mar 18, 2025 pm 03:17 PM

本文说明了如何使用源地图通过将其映射回原始代码来调试JAVASCRIPT。它讨论了启用源地图,设置断点以及使用Chrome DevTools和WebPack之类的工具。

如何使用JavaScript将具有相同ID的数组元素合并到一个对象中? 如何使用JavaScript将具有相同ID的数组元素合并到一个对象中? Apr 04, 2025 pm 05:09 PM

如何在JavaScript中将具有相同ID的数组元素合并到一个对象中?在处理数据时,我们常常会遇到需要将具有相同ID�...

console.log输出结果差异:两次调用为何不同? console.log输出结果差异:两次调用为何不同? Apr 04, 2025 pm 05:12 PM

深入探讨console.log输出差异的根源本文将分析一段代码中console.log函数输出结果的差异,并解释其背后的原因。�...

See all articles