CSS选择器 - 如何在CSS中选择'for'?

Ila*_*sda 7 css css-selectors

我正在使用jQuery验证.

当for现在有效时,验证器正在创建:

<label class="error" for="username" generated="true">
Run Code Online (Sandbox Code Playgroud)

因为所有标签都有相同的类=错误我可以用CSS选择这个基于'for'的确切吗?

我知道如何用jQuery对其进行排序 - 但总是寻找最干净,最纯粹的方式.任何建议都非常感谢.

皮特

thi*_*dot 17

使用(CSS2)属性选择器:

.error[for="username"]
Run Code Online (Sandbox Code Playgroud)

这将适用于IE8 +和所有现代浏览器.


IE7的属性选择器是错误的:如此处所述,为了匹配for 你必须使用htmlFor.

因此,如果您需要IE7支持,请使用:

.error[for="username"], .error[htmlFor="username"]
Run Code Online (Sandbox Code Playgroud)

感谢IE7,让我的答案超过它需要的两倍.


Mic*_*eld 5

任何属性都可以通过 CSS 或 jQuery 使用[]符号来选择。CSS 适用于任何类似 XML 的语法,而不仅仅是 HTML —— 只要结构格式正确,它就不知道(或关心)哪些属性是“有效的”。

.error[for='username'] {

}
Run Code Online (Sandbox Code Playgroud)

或“开始于”

.error[for^='userprefix'] {

}
Run Code Online (Sandbox Code Playgroud)