【发布时间】:2020-01-30 18:49:22
【问题描述】:
考虑以下两种可能的标记:
<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选择器。问题正是我需要的类可能位于类数组中的任何位置。
我创建了一个小提琴来可视化问题,这当然不是解决方案,因为我需要能够定位 ng-valid-*determined 或 ng-invalid-*determined
不要与using two css attribute selectors with *混淆
//edit1:简化问题 //edit2: 添加了一个小提琴
【问题讨论】:
-
是否有理由将
ng-x-VALUEdetermined存储在类中而不是data属性中? -
ng暗示你正在使用 Angular。你不能只使用一个ngClass指令在你需要的条件下添加一个特定的类吗? -
@keithjgrant 完全正确。但我希望 not 为此编写我自己的指令。 Angular 会自动生成这些类,我想加入这些类来设置我的输入框的样式。
-
您不需要自己的指令。阅读 ngClass 一。向元素添加一个类应该不会有太大的危害。
标签: css css-selectors