Javascript 更改下拉菜单中第一个选定选项的颜色

Javascript 更改下拉菜单中第一个选定选项的颜色,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图更改第一个选择的颜色,并让其余的选择选项保持其继承颜色,即黑色 然而,我无法让它运行。目前;所有颜色均为#ccc。我希望禁用的第一个选项为#ccc,其余选项为继承颜色 以下是HTML: <select class="form-control select form__blank"> <option disabled selected value> - select - </option> <option>Full Furnished&

我试图更改第一个选择的颜色,并让其余的选择选项保持其继承颜色,即黑色

然而,我无法让它运行。目前;所有颜色均为#ccc。我希望禁用的第一个选项为#ccc,其余选项为继承颜色

以下是HTML:

<select class="form-control select form__blank">
  <option disabled selected value> - select - </option>
  <option>Full Furnished</option>
  <option>Semi Furnished</option>
  <option>UnFurnished</option>
</select>
JSFIDDLE:

希望它有意义

你不应该这样做

.form__blank:first-child {
   color: #ccc;
}
但是:

.form__blank option:first-child {
   color: #ccc;
}

选择选项的第一个子项,而不是选择

option:first-child {
 color: #ccc;
}
这方面的主要问题是设置
选项的样式
/
选择
这是一项非常困难的任务,因为每个浏览器的行为不同或使用不同的方式显示它们

你有一个很好的解释为什么和许多可能的解决办法

对于Chrome v.57.0.2987,您可以使用CSS选择器:
select选项:disabled
,并执行以下操作:

.form控件{
边界半径:25px;
边框:1px实心#323a56;
宽度:100%;
填充:10px 15px;
字体大小:14px;
}
.选择{
边界半径:25px;
边框:1px实心#323a56;
-webkit外观:无;
-moz外观:无;
背景位置:右50%;
背景重复:无重复;
背景图片:url数据:图像/png;Bas64,IvBorwwwwwwwwww数据(数据:数据:数据:图像/png;Bas64,基础64,IvBoBorwww7,数据数据:图像/数据:图像/巴巴巴巴巴巴新;基础64,IvBorwwwwwwwwwwwwwwwwwwww2-2-wwww2-2-2-wwwwww2-2-2-2-2-wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww8-www8-2-2-w8-w8-www8-8-w8-w8-8-8-8-8-8-8-8-8-8-8-8-2-8-8-8-8-8-8-5-5-5-5-8-8-2.他们的研究成果是一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个ZZZZZZZZZZZZZZZZZZZZZ一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZnvdxjzvjlzim2.这两个词的意思是一个词的意思是一个词的意思意思是一个词的意思是一个词的意思意思是一个词的意思是一个词的意思是一个词的意思意思是一个词的意思是一个词的意思是一个词的意思是一个词的意思是一个词的意思是一个词的意思是一个词的意思是一个词的意思是一个词的意思是一个或者或者一个词的意思是一个或者或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个或者一个C3RSZWY6ZG9JDW1LBNRJRD0IEG1WLMRPZDO0NKU0MTA2OY3MZU3RYZMZU3RYZZIYQIVPIA8L3JKZJPEZXNJCMLWDGLWDGBJ4GPC9YZY6UKRGPIA8L3G6EG1WBWV0YT4GPD94CGFJA2V0IGVUZD0ICII/PUGSGWQAA5SURBVJJAYVZ//Z8DOYCJGJGUXAF42MQIZTK0D/M+KZKZKKKKKKKRGPOQSDYKKJRKJJJJJJJJJJJJJJFYFYFYFYFYYYYYYYNEEAJJJJJJJ;
身高:继承;
}
.form_uu空白选择选项:禁用{
颜色:#ccc;
}

-选择-
家具齐全
半家具
无家具

而不是样式设置
:第一个孩子
可以使用
[disabled]
属性设置样式

select option:disabled{
  color:red;
}
您还可以查看下面的小提琴示例

像这样试试

<select id="selid" class="form-control select form__blank">
.....
</select>



是否.form\uu blank选项:css工作中的第一个孩子?您可以使用
select选项:disabled
css选择器。已经尝试过。不起作用。实际尝试过,但不起作用。没有任何变化。已经尝试过,但不起作用。我也尝试过
form\uu blank选项:first child
。如果我会给您JavaScript解决方案呢?这不起作用也不行。我希望“-select-”是彩色的,如JSFIDLE中所示。这不应该更改。但是,当我选择其他字段时,颜色应该更改为
inherit
或#000.@ElaineByene您使用哪种浏览器?我使用的是Mac Chrome版本60.0.3112.113(官方版本)(64位)@ElaineByene问题是
选项
样式的纯CSS跨浏览器很难存档,这意味着也许你在Chrome上存档了正确的行为,但在Firefox上看起来完全不同,你有一个非常好的解释和解决方案:不,我没有看到任何红色!你在使用哪种浏览器?我在Mac Chrome版本60上。0.3112.113(官方版本)(64位)。我在Safari上尝试过它。没有看到任何红色。我使用的是windows10 chrome。您希望-select-选项仅为红色,或者选定值必须更改颜色-仅-select-为红色。其余保持不变。更改[禁用]to:disabledNothing!我想看到-select-但默认值,但情况也不是这样:/根据您的问题,我不知道所选项目的高亮显示。现在,所有颜色都更改为#ccc:(我猜这是我的Chrome版本!!检查一下。在上一次申请背景时,我放弃了!!它不起作用。除了-select-之外的其他选项改为#ccc。这与我问问题时的阶段相同:(
<select id="selid" class="form-control select form__blank">
.....
</select>
$('#selid').change(function () {
$(this).find('option').css('color', 'inherit');
$(this).find('option:selected').css('color', 'red');
}).trigger('change');
$('#selid').change(function () {
$(this).css("color", $("option").css("color", 'inherit'));
$(this).css("color", $("option:selected").css("color", 'blue'));
}).trigger('change');