CSS 属性选择器、多个类、应用于一个类定义的通配符可能吗?

标签 css css-selectors

考虑以下具有 2 种可能性的标记:

<input class="someclass ng-valid ng-invalid-otherstuff ng-valid-amountdetermined   some-other-class">
<input class="someclass ng-invalid ng-valid-otherstuff ng-invalid-amountdetermined some-other-class">

“金额”是一个可变词,可以是任何东西,“消息”、“帐户”,任何东西。我需要能够在 CSS 中做出区分。属性选择器失败了,因为它考虑了 ^、*、| 的整个属性值甚至〜。

我需要挑出一个类,然后检查该类是否为“ng-valid-*determined”。在我看来,这根本不可能使用 css,还是我遗漏了什么?

解决方法是生成“ng-valid-determined*”,但这正是我想要避免的。有人对此有任何想法吗?作为澄清,我不知道“someclasses”是什么,我不能用它们来精确定位我的 css 选择器。问题恰恰是我需要的类可能位于类数组内的任何位置。

我创建了一个 fiddle 来可视化问题,这当然不是解决方案,因为我需要能够定位 ng-valid-*determined 或 ng-invalid-*determined

http://jsfiddle.net/mC2EW/

不要与 using two css attribute selectors with * 混淆

//edit1: 简化问题 //edit2: 添加了一个 fiddle

最佳答案

尽管这是一个旧的解决方案,但我一直在寻找类似的解决方案。我相信我有最好的答案,请看我的pen .

HTML

<input class="someclass ng-valid ng-invalid-otherstuff
ng-valid-amountdetermined some-other-class"> <input class="someclass
ng-invalid ng-valid-otherstuff ng-invalid-amountdetermined
some-other-class">

CSS

[class*=ng-valid][class*=ng-invalid-otherstuff][class*=determined] {
background: #000; }
[class*=ng-invalid][class*=ng-valid-otherstuff][class*=determined] {
background: #ddd; }

事实证明,虽然您不能在同一个属性选择器中定位多个通配符,但您可以链接通配符属性选择器来找到您的目标。

关于CSS 属性选择器、多个类、应用于一个类定义的通配符可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14897634/

相关文章:

javascript - 针对 :hover DOM with querySelectorAll 的问题

css - 如何从网站复制 CSS 样式以供重复使用

javascript - 如何 "observe".onchange 数组中的所有元素

optimization - 从动态网站中删除多余的 css 规则

javascript - JavaScript 是否有现有的 CSS3 选择器解析器?

html - CSS :last-child AND :hover on an a link in a ul

html - 多行滑动方向错误,方向 : horizontally and slidesPerColumnFill: 'row' ,

javascript - 悬停在 iframe 上时,如何在 iframe 外部的元素上触发类?

css - 与第 nth-child 造型

python - 如何使用 Selenium 和 xpath 在 Google 登录页面中选择电子邮件或电话字段?