javascript - 使用 querySelector 获取包含类的所有元素

标签 javascript css-selectors html2canvas

我正在使用 querySelector() 来更改类中的某些样式:

el.querySelector('.fa fa-car').style.display = "none";

这适用于一个元素,但如果有更多元素包含此类,并且我想将所有元素的显示更改为无,则此命令只会删除第一次出现的元素,而不会影响下一个元素。

我试着用 querySelectorAll() 来做到这一点:

 el.querySelectorAll('.fa fa-car').style.display = "none";

但是这个返回错误信息:

html2canvas: TypeError: Cannot set property 'display' of undefined

关于如何获取包含特定类的所有元素并对它们执行操作的任何想法?

最佳答案

The Element method querySelectorAll() returns a static (not live) NodeList representing a list of the document's elements that match the specified group of selectors.

使用Document.querySelectorAll()获取所有元素。然后使用forEach()在每个元素中设置样式:

var elList = document.querySelectorAll('.fa.fa-car');
elList.forEach(el => el.style.display = "none");

请注意:一些旧版本的 IE (<8) 将不支持 querySelectorAll()。在那种情况下使用

Array.from(document.querySelectorAll('.fa.fa-car'))

关于javascript - 使用 querySelector 获取包含类的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52365938/

相关文章:

javascript - 将客户端特定的日期格式返回到服务器 MVC4

html - 方形空间上的第 n 个类型

typescript - HTML2Canvas 在 Ionic4 角度项目中生成空白图像。控制台中没有错误。相同的代码在纯 html/javascript 中生成正确的图像

javascript - 如何向 HTML ImageData 添加新属性?

javascript - 将图像存储为 png 文件

java - 如何在 Play! 的 JavaScript 模板中访问消息?框架?

javascript - 无法将最接近的 img 元素定位到文件输入元素

java - 使用 cssSelector 清除 Chrome 浏览器的浏览数据时如何与 #shadow-root (open) 中的元素进行交互

css - 选择器无法正常工作

javascript - 重新启动 Flip.js