4

在除 IE9 之外的所有主要浏览器中,它会将禁用选项的文本着色为红色此代码:

<option disabled='disabled' class='red' value=''>No Students available to take up Assessment</option>

...
//CSS
.red{
color:red;
}

但在 IE 中,它不会改变文本颜色,它保持灰色禁用颜色。如何在 IE9 中更改禁用的颜色?

4

2 回答 2

0

也许在 CSS 中使用属性选择器?

option:disabled,
option[disabled] {
    color: red;
}
于 2013-02-03T03:34:58.557 回答
-2

像这样的东西?

select :disabled.red {
    color: red;
}

这是来自 Microsoft的关于:disabled伪类的文档。

这是一个应该在 IE9 及更高版本中工作的小提琴


更新:这似乎只适用于 IE>8。这个答案指出了在表单元素上使用 readonly 属性的解决方法。不过,这不是选项标签的选项。

周围有适用于旧 IE 的 JavaScript 解决方法。一个简单的谷歌搜索把我带到了这个提供 jQuery 解决方案的网站。

博客

通过添加一点 css 样式魔法,您最终会在所有其他现代浏览器中得到相同的结果。

然后,您可以使用 javascript 启用和禁用。许多人编写的代码使选项看起来像被禁用,等待单击选项元素然后模糊它或聚焦下一个/先前选择的选项以使其表现得像被禁用。

我想出了与 jQuery 一起使用的函数,通过将其转换为 optgroup 并返回来禁用/启用选择选项。它在 firefox 2 & 3, safari 3, 即 6 + 7 中测试,它在 Opera 9 中工作(虽然 opgroups 跳到底部)

于 2013-02-03T03:17:56.553 回答