javascript - 未捕获的 DOMException : Failed to execute 'querySelector' on 'Document' : '' is not a valid selector

标签 javascript reactjs

我有一个包含两项的列表。第二个项目的 ID 由 getTime() 生成,并与 new$ 连接,形成一个随机 ID,如下图所示。

enter image description here

我需要定位该元素来执行某些功能,但是当我尝试使用 querySelector 执行此操作时,它会生成一个错误,指出它不是有效的选择器,即使我使用 >String() 将生成的随机数转换为字符串。

enter image description here

我在这里缺少什么?

最佳答案

使用 # 选择具有特定 ID 的元素语法不允许未转义的 $ s 位于 ID 内。您可以通过 [id="<some id>"] 选择父元素来绕过此问题相反:

console.log(
  document.querySelector('[id="foo$bar"] .item')
);
<div id="foo$bar">
  <div class="item">
    item
  </div>
</div>

或者逃避 $首先加一个反斜杠:

const idSelector = 'foo$bar'.replace(/\$/g, '\\$');
console.log(
  document.querySelector('#' + idSelector + ' .item')
);
<div id="foo$bar">
  <div class="item">
    item
  </div>
</div>

关于javascript - 未捕获的 DOMException : Failed to execute 'querySelector' on 'Document' : '' is not a valid selector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59637239/

相关文章:

javascript - 在表单提交上更改/添加表单值

javascript - ie8 预期标识符错误 - Angular

javascript - 查找最长的元音子串

javascript - 将 material-ui 为子组件生成的样式放在为父组件生成的样式之后?

javascript - React-native:从场景返回时调用函数

node.js - 如何禁用 React JS 应用程序的源映射

javascript - 如何设置下拉菜单以在javascript中的onclick事件后进行选择

javascript - 在 React 组件中创建自定义函数

javascript - 如何从 React/Typescript 应用程序中的选择选项获取附加数据

javascript - 显示 AM 但不显示年/月/日的 Datetime-local 值