我正在使用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,让我的答案超过它需要的两倍.
任何属性都可以通过 CSS 或 jQuery 使用[]符号来选择。CSS 适用于任何类似 XML 的语法,而不仅仅是 HTML —— 只要结构格式正确,它就不知道(或关心)哪些属性是“有效的”。
.error[for='username'] {
}
Run Code Online (Sandbox Code Playgroud)
或“开始于”
.error[for^='userprefix'] {
}
Run Code Online (Sandbox Code Playgroud)