Html 更改选定禁用选项的文本颜色

Html 更改选定禁用选项的文本颜色,html,css,select,option,Html,Css,Select,Option,我有以下代码: 选择选项:禁用:选中{ 颜色:灰色; } 初始选择权 一个 两个 试试这个: .checked { color:green } <select> <option style="color:grey">Initial Option</option> <option class="checked">One</option> <option class="checked">Tw

我有以下代码:

选择选项:禁用:选中{
颜色:灰色;
}

初始选择权
一个
两个
试试这个:

.checked {
    color:green
 }


 <select>
   <option style="color:grey">Initial Option</option>
   <option class="checked">One</option>
   <option class="checked">Two</option>
 </select>
。已选中{
颜色:绿色
}
初始选择权
一个
两个

我添加了jQuery以将类添加到所选选项中。试试这个:

函数选择选项(){
var x=$('#选择下拉列表').val()
$('#选择下拉选项[value='+x+']').attr(“已选择”,true)。attr(“已禁用”,true)
}
选择选项:禁用:选中{
颜色:灰色;
}

初始选择权
一个
两个

这是我对您的问题的看法,试试这个

$(文档).ready(函数(){
$('#MySelect').val('Zero').change();
});
$('#MySelect')。在('change',function()上{
$($(this)).css(“color”,“this”).find(“option”).css(“color”,“black”));
var color=$(this.find)(“option[value=“+$(this.val()+”])).attr('optioncolor');
$($(this)).css(“color”,color);
$($(this)).css(“color”,$(this).find(“option[value=“+$(this).val()+”])).css(“color”,color));
});

零
一个
两个

通过更改
选择
,而不是
选项
的颜色,可以实现您所询问内容的可能重复。但是1)我担心没有纯粹的css解决方案,因为您需要根据子数据更改父css,2)灰色
select
可能是一种非常糟糕的技术,因为它看起来像select本身被禁用了,您无法单击它。我认为最好添加一个伪选项作为第一个
选项
元素,它会说类似于
选择您的选项
@Cheslab,我明白了。在阅读了您的评论之后,我测试了一些东西,似乎它确实是正确的:在下拉列表上方直观显示的“selected option”是
select
元素。不过,诉诸JS肯定会影响性能,对吧?很接近,您成功地更改了列表其余部分选项的颜色,但没有更改“初始选项”。在我的浏览器中,“初始选项”文本颜色仍然是
黑色
@Richard我再次更改了答案检查当我第一次运行代码段时,“零”仍然是黑色。只有当我将选择更改为另一个选项时,说“一”,然后再次选择“零”,它才会变为红色。我希望第一次加载页面时它是红色的,因为它是初始选择。这个想法是给用户一个概念,即初始选项是无效的(因此,颜色是灰色的)。嗯,我再次改变了我的答案。谢谢如果我不能理解你的意思,我可以问你一些问题吗?