- 此问题在此处已有答案**:
Uncaught SyntaxError: Failed to execute 'querySelector' on 'Document'(2个答案)
3小时前关门了。
当传入一个恰好是整数的变量时,我遇到了一些关于如何使用document.querySelector()的冲突信息。
在我的代码中,我试图检查页面上是否存在某个特定的HTML元素。我是通过使用document.querySelector并传入该元素的ID(碰巧是一个数字)来完成这一操作的。因为我选择的是ID,所以我也传入了"#",因此使用了模板文本,因为ID存储在变量中。
例如:消息ID = 63c347f214f8baf0457355d3//this works
常量消息存在=文档.获取元素按标识(消息标识);//this doesn't
const msgExists =文档查询选择器('#${msg._id}');
并生成以下错误消息:
55index.js:23获取消息时出错DOMException:无法对"文档"执行"querySelector":"#63c347f214f8baf0457355d3"不是有效的选择器。地址为http://localhost:3434/js/index.js:35:34地址为数组. forEach()地址为postMessages(地址为http://localhost:3434/js/index.js:29:10)地址为http://localhost:3434/js/index.js:20:9地址为异步提取Messages(地址为http://localhost:3434/js/index.js:16:5)
我也尝试过使用字符串连接代替模板文字。/this also does not work
常量消息存在=文档.查询选择器('#'+消息标识);'
并产生与上述相同的误差。
我已经找到了使用document. getElementById的解决方案,但是我想知道为什么document. querySelector在我试图传入一个数字变量时不起作用?我认为这与转义字符有关,但我不确定需要转义什么。
1条答案
按热度按时间gopyfrb31#
您可以使用属性选择器来解决此问题