CSS--选择器

选择器

学习链接

CSS6大种选择器(超详细!!!)

报错汇总

document.querySelector('#rdpmPrjApproval|rdpmPrjApprovalInfoGroup')获取失败

document.getElementById('rdpmPrjApproval|rdpmPrjApprovalInfoGroup')可以获取到对象

document.querySelector('#rdpmPrjApproval|rdpmPrjApprovalInfoGroup')获取失败,报错VM262411:1 Uncaught DOMException: Failed to execute 'querySelector' on 'Document': '#rdpmPrjApproval|rdpmPrjApprovalInfoGroup' is not a valid selector.

是为何?该如何解决?

document.querySelector('#rdpmPrjApproval\|productRiskGrade').querySelector('#rdpmPrjApproval\|tips').children
在 JavaScript 中,getElementByIdquerySelector 都是用来选取页面上的元素,但它们对选择器的解析规则有所不同。
getElementById 方法是专门用来通过元素的 ID 来获取元素,所以它接受一个简单的 ID 字符串,如 'rdpmPrjApproval|rdpmPrjApprovalInfoGroup'。如果页面上存在这样一个 ID,它将返回对应的元素对象。然而,querySelector 方法则遵循 CSS 选择器的规则。在 CSS 中,| 字符不是一个有效的 ID 选择器。报错信息 "Failed to execute 'querySelector' on 'Document': '#rdpmPrjApproval|rdpmPrjApprovalInfoGroup' is not a valid selector" 表明这个字符串不能被解析为有效的 CSS 选择器。如果这个 ID 确实存在于你的 HTML 中,并且你需要使用 querySelector,你需要确保 ID 选择器的格式正确。由于 | 字符在 CSS 中有特定的用途(用于命名空间选择器),在一般的 ID 选择中是不被允许的。所以,你需要将 ID 作为字符串传递,如:javascriptdocument.querySelector('#rdpmPrjApproval\\|rdpmPrjApprovalInfoGroup')在上述代码中,我们使用了反斜杠 \| 进行转义,让它作为一个字符串传递,而非 CSS 特殊字符。这样,querySelector 就能够正确地解析并找到对应的元素。请注意,确保在实际的 HTML 中 ID 的确是用这种方式定义的,或者根据实际的 HTML 结构和 CSS 选择器规则来调整选择器

二级目录

三级目录

相关推荐
Stringzhua21 小时前
setup函数相关【3】
前端·javascript·vue.js
neon120421 小时前
解决Vue Canvas组件在高DPR屏幕上的绘制偏移和区域缩放问题
前端·javascript·vue.js·canva可画
Sammyyyyy21 小时前
Node.js 做 Web 后端优势为什么这么大?
开发语言·前端·javascript·后端·node.js·servbay
妮妮喔妮21 小时前
Webpack 有哪些特性?构建速度?如何优化?
前端·webpack·node.js
ST.J21 小时前
webpack笔记
前端·笔记·webpack
Baklib梅梅1 天前
2025 年 8 个最佳网站内容管理系统(CMS)
前端·ruby on rails·前端框架·ruby
IT_陈寒1 天前
🔥5个必学的JavaScript性能黑科技:让你的网页速度提升300%!
前端·人工智能·后端
Bling_Bling_11 天前
面试常考:js中 Map和 Object 的区别
开发语言·前端·javascript
前端小巷子1 天前
JS实现丝滑文字滚动
前端·javascript·面试
oil欧哟1 天前
🧐 我用 Vibe Coding 从 0 到 1 打造 AI 产品,上线一个月效果如何?有什么心得?
前端·产品·vibecoding