有没有办法将一些CSS选择器组与优先逻辑(组与组)结合起来?

问题描述 投票:0回答:1

我觉得这是一个奇怪的问题,我什至都不知道如何写。 好吧,我必须使用 querySelectorAll() 过滤一大堆元素。我需要,但真的不知道是否可能,做这样的事情(假代码):

[data-attr1=a][data-attr2=b]([data-attr3*=c], [data-attr4*=d])

请注意括号,并且逗号仅在括号内。 换句话说,我希望我的元素被过滤如下:

“所有结果元素必须同时具有

data-attr1=a AND data-attr2=b
AND
还必须具有
data-attr3*=c OR data-attr4*=d
.

这可能吗?有没有合适的语法?也许像这样就足够了,但真的很冗长:

[data-attr1=a][data-attr2=b][data-attr3*=c], 
[data-attr1=a][data-attr2=b][data-attr4*=d]

对吗?有更好的语法吗?

css css-selectors
1个回答
0
投票

我刚刚找到了 css 部分的答案。不确定 querySelectorAll 是否会接受它:我可以使用 'new' :is() 或 :where() 语法:

[data-attr1=a][data-attr2=b]:is([data-attr3*=c], [data-attr4*=d])

这将准确选择我正在搜索的内容。

© www.soinside.com 2019 - 2024. All rights reserved.