javascript - js querySelectorAll 不是有效的选择器,尽管它类似于文档示例

标签 javascript google-chrome-extension tampermonkey

<分区>

https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll

这里,属性选择器用于返回 ID 为“userlist”的列表中包含的列表项的列表,该列表具有值为“1”的“data-active”属性

var container = document.querySelector("#userlist");
var matches = container.querySelectorAll("li[data-active=1]");

但是当我尝试

var matches = document.querySelectorAll('div[data-id=7821549]');

我得到:

DOMException: Failed to execute 'querySelectorAll' on 'Document': 'div[data-id=7821549]' is not a valid selector.

这是我要获取的 div:

<div class="cell cell--event-list cell--odds js-event js-event-odds js-event-odds-7821549 js-event-status-finished" data-id="7821549">

最佳答案

示例选择器 "li[data-active=1]" 在我的 Chromium 浏览器上抛出类似的错误,因为属性选择器值是一个数字。即使是用于有效 HTML5 ID 的简单数字 ID 选择器(如 #22)do not work with querySelector method .

用引号包裹属性选择器的值解决了这个问题:'div[data-id="7821549"]'

关于javascript - js querySelectorAll 不是有效的选择器,尽管它类似于文档示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52673617/

相关文章:

javascript - 部分 View 中不显眼的客户端验证不起作用

javascript - 如何将元素从一个列表复制/复制到另一个列表

javascript - 在 chrome 扩展中使用 html5 blob 下载 mp3 文件

javascript - 使用 Javascript 或 jQuery 添加和 append 文本输入字段

javascript - API调用 react ,componentDidUpdate或eventHandler中的事件?

javascript - 我希望能够获取所有 `<b></b> 的内容

javascript - 将多个回调链接到单个 jquery Promise

javascript - Chrome 扩展程序 : how to get newly created tab url

jQuery-UI 在没有 CSS 或自定义的情况下无法在我的用户脚本中工作?

javascript - 在Tampermonkey脚本中插入CSS的最佳方法是什么?