如何在禁用选项中获取文本以更改IE9中的颜色?

时间:2013-02-03 03:16:04

标签: html css internet-explorer-9

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

option:disabled,
option[disabled] {
    color: red;
}

答案 1 :(得分:-2)

这样的东西?

select :disabled.red {
    color: red;
}

这是Microsoft的document about the :disabled pseudo-class

这是fiddle that should work in IE9 and up


更新:这似乎仅适用于IE&gt; 8。 This answer指出了在表单元素上使用readonly属性的解决方法。但是,这不是选项标签的选项。

旧的IE浏览器有JavaScript解决方法。一个简单的谷歌搜索引导我this site,它提供了一个jQuery解决方案。

来自the blog

  

通过添加一点css造型魔法,你最终得到一个相同的   所有其他现代浏览器的结果。

     

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

     

我已经提出了与jQuery一起使用的函数来禁用/启用a   通过将选项转换为选择组并返回来选择选项。经过测试   在firefox 2&amp; 3,safari 3,即6 + 7,它适用于Opera 9   (虽然opgroups跳到了底部)