是否存在一种CSS选择器可以匹配任何具有特定值的属性?

4
有没有一种 CSS 选择器可以针对特定的属性值进行选择,而不管它是哪个属性?我正在寻找类似于 [*="value"](使用通配符)或 {value}(直接值选择器)的东西。

2
不,你需要使用 JavaScript 来搜索任何属性,然后检查找到的值(如果有)。 - G-Cyrillus
@tylerH,你为什么重新打开了这个问题?在我看来,它似乎是一个有效的问题。 - Temani Afif
1
@TemaniAfif 选择的重复目标似乎是在询问任何具有任何值的属性。而这个问题是在询问具有特定值的任何属性。基本上是反转了另一个问题所寻找的内容,因此根本不是同一件事情。 - TylerH
1
@TemaniAfif 我知道已经晚了5年,但我已经要求原帖问题的提问者澄清,因为目前似乎不太清楚他们到底在问什么。如果看起来他们实际上是在问“包含x/特定值的任何属性”,那么我很乐意删除我的答案并重新关闭这个问题。 - TylerH
2
如果您查看原始修订版,OP特别指出了任何数据属性,而没有考虑值是什么。虽然我同意任何具有任何值的属性比具有特定值的任何属性更通用,但当反转为“基于值的属性选择器”时,问题作为一个独立的问题是有意义的...如果W3规范决定实现这样的东西,后者肯定是可能通过选择器实现的,而前者则不是。 - TylerH
显示剩余2条评论
3个回答

1

2
这是一条注释,不是一个答案 ;) - G-Cyrillus
2
@G-Cyrillus - 这对我来说看起来像是一个答案。它为什么不能回答问题呢? - But those new buttons though..
2
“在纯CSS中必须使用属性”是什么意思? - TylerH
我指的是任何选择器,亲爱的朋友 :) 不论是类型、id、class、高级选择器、通配符选择器等,只是提供了一个更新的选择器列表 :) - Imran Rafiq Rather

1

不行。CSS属性选择器是设计用来基于属性(因此得名)。如果你想基于值而不是属性或属性值进行选择,则只需使用CSS类。

或者,您可以编写详细的选择器,其中包含文档将包含的所有属性(因为您应该提前知道该信息),例如:

div[data-value="value"], div[href="value"], div[hello="value"], div[goodbye="value"] {
    color: red;
}
<div data-value="value">Red</div>
<div>Black</div>
<div href="value">Red</div>
<div hello="value">Red</div>
<div goodbye="value">Red</div>
<div>Black</div>
<div>Black</div>


-2
你可以通过在选择器中省略 ="" 来选择一个没有关联值的属性。例如,*[class] { display: none; } 将隐藏任何具有分配给它的类的元素。

但是我想要针对一个特定的值进行定位,一个特定的值,无论其属性如何。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接