css - 使用 CSS 设置指向具有特定属性的元素的标签样式

标签 css unobtrusive-validation

我在 ASP.Net MVC3 应用程序中使用非侵入式验证。我想以某种方式设置与必需元素关联的 label 元素 的样式。

我关心的不是调整必填字段周围的视觉指示符本身,而是根据 元素的属性修改不同 元素的外观。

现在,我相信可以通过使用 CSS 规则来仅使用 CSS 来设置元素本身的样式,该规则的选择器应用于具有 [data-val-required] 属性的所有元素。它看起来像这样:

input[data-val-required] { color: red; }

但是否可以为标签设置样式?说(使用 CSS 选择器)CSS 规则适用于所有 label 元素,其 for 属性指向一个 input 元素,该元素具有 [data-val-required] 属性?

我目前正在使用一些 jQuery 来应用样式,而且效果很好。但如果我可以设置一个 CSS 规则并完成它,那就更好了。

最佳答案

你不能从这里到达那里。正如@vlgalik 所说,唯一的 CSS 选项是 1) 某些浏览器不支持的选择器,以及 2) 查找其他元素的能力有限,迫使您构建您的标记以符合要求。

因此,您当前的解决方案——使用 JQuery 查找标签及其相应的输入——是你最好的选择。

但是,我会以相反的方向处理您的 jQuery 解决方案:首先找到所有匹配 input[data-val-required] 的输入,并为其中的每一个获取其 ID,然后选择相应的标签:label[for="<id-from-input>"] -- 这似乎会减少工作量。但这是一种优化;如果页面上没有很多标签和输入,任何一个方向都可以。

关于css - 使用 CSS 设置指向具有特定属性的元素的标签样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8541161/

相关文章:

html - 获取 DIV 及其中的内容以适应浏览器大小?

html - WordPress 响应问题

css - 嵌套 CSS 类

validation - ASP.net MVC ValidationSummary 总是被渲染

asp.net-mvc-3 - asp.net mvc 3 验证摘要未通过不显眼的验证显示

javascript - jquery - 加载时不引人注目的验证 javascript 错误 - $jQval 未定义

jquery - 当选择更改时,如何显示下拉菜单的不显眼的 jQuery 验证消息?

css - Firefox 中没有一致的断字

jquery - 具有表格布局的Highcharts动态高度

c# - 新鲜的 MVC 3 项目给我奇怪的不引人注目的验证脚本错误