如何将QuerySelector与数据属性和类同时使用?

发布于 2025-02-08 01:04:51 字数 452 浏览 6 评论 0原文

我的HTML看起来像这样,

<div class="slds-col slds-size_1-of-1 slds-hide" data-controllinganswer="a1ZC2000000O2n3MAC" data-questionid="a1fC20000000VgXIAU" data-id="a1fC20000000VmzIAE" data-selectedanswer="a1ZC2000000O2zxMAC">

但是当我尝试这样做时,

this.template.querySelector('[data-id="' + e.dataset.id + '"], .slds-show')

它仍然会返回一个元素,即使没有类slds-show。这是使用具有多个属性的QuerySelector的正确方法吗?

My html looks like this

<div class="slds-col slds-size_1-of-1 slds-hide" data-controllinganswer="a1ZC2000000O2n3MAC" data-questionid="a1fC20000000VgXIAU" data-id="a1fC20000000VmzIAE" data-selectedanswer="a1ZC2000000O2zxMAC">

But when I try to do this

this.template.querySelector('[data-id="' + e.dataset.id + '"], .slds-show')

It still returns me an element, even though there is no class as slds-show. Is this the right way of using queryselector with multiple attributes?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心是晴朗的。 2025-02-15 01:04:51

Comma selector1,selector2说具有Selector1或selector2的元素应匹配。

如果您有一个space selector1 selector2它将匹配的元素selector2在元素匹配selector1内,如果您有selector1selector2代码>没有空间,然后仅匹配一个匹配selector1selector2的元素。

因此,您的选择者应该是

this.template.querySelector('[data-id="' + e.dataset.id + '"].slds-show')

The comma selector1, selector2 says that elements having selector1 or selector2 should match.

If you have a space selector1 selector2 it will match an element matching selector2 inside an element matching selector1, if you have selector1selector2 without space, then it matches only an element that matches both selector1 and selector2.

So your selector should be

this.template.querySelector('[data-id="' + e.dataset.id + '"].slds-show')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文