【问题标题】:CSS how to change text color of disabled option inside a select?CSS如何更改选择中禁用选项的文本颜色?
【发布时间】:2017-04-29 18:52:13
【问题描述】:

我有以下选择器:

<div id="cameraSourceWrap" class="settingRow adminShow">
  <select id="cameraSource" class="js-example-basic-single">
  </select>
</div>

我在 JS 中的 for 循环中创建选项:

 $('#cameraSource').append('<option id="camera' + i + '" class="optionC" value=' + i + '>' 
+ config.video.videoCapturer.devices[i] + '</option>');

现在我在我的 CSS 文件中添加了这个:

.optionC {
color: blue;
}
.optionC:disabled {
color: red;
}
.optionC[disabled=disabled]{
color: red;
}

这是我在检查器中得到的:

这是它的样子: 为什么禁用的视图不是红色的?蓝色是正常的?

编辑:我也试过这个: https://select2.github.io/ 这使它看起来不同,但选项对象仍然没有响应

【问题讨论】:

标签: javascript html css select html-select


【解决方案1】:

Simple Working Solution!!!

这可能是因为你在js中添加了select选项,js在css之后加载。

所以你应该在 js 或 jquery 中为选择选项添加颜色。请参考代码。

$("option.optionC").css("color","blue");
$("option.optionC:disabled").css("color","red");

这里是工作DEMO Fiddle

【讨论】:

  • 这不起作用。我在以编程方式创建选项之前和之后都添加了这些行。 “颜色:红色!重要;”也没有。部分工作
  • 即使在 jsfiddle 中,使用你给我的链接,它仍然是灰色的禁用:s3.amazonaws.com/uploads.hipchat.com/39260/829560/…
  • 你用的是safar浏览器吗?
  • 铬和铬。我需要颜色更改在 Android WebView 中有效。所以我在 Chrome 和 Nexus 7 Android 5.0 设备的 webview 中测试它。
  • 在 safari 中,您的代码在 jsfiddle 中会更改所选文本的颜色。所以 $("select").css("color", "blue");确实有效,但不是选项。 PS 我在运行 Sierra 10.12 的 Mac 上。如果有帮助
【解决方案2】:

您可以在 css 中使用 :disabled psuedo 类。

 for (i = 0; i < 10; i++) {
   $('#cameraSource').append('<option id="camera' + i +
     '" class="optionC" value=' + i + '>check</option>');
     // make half of the options disabled for this example
     if(i%2===0){
     	$('#camera'+i).attr('disabled','disabled');
     }
 }
 
.optionC {
  color: blue;
}

.optionC:disabled {
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="cameraSourceWrap" class="settingRow adminShow">
  <select id="cameraSource" class="js-example-basic-single">
  </select>
</div>

【讨论】:

【解决方案3】:

您可以尝试使用“!重要”。 像这样:

.optionC:disabled
{
color : red !important;
}

【讨论】:

  • 请不要永远建议使用 !important。
  • 你能告诉我为什么吗?
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 2020-09-04
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
  • 2023-01-12
  • 2022-01-18
  • 2013-07-15
相关资源
最近更新 更多