javascript - Bootstrap - 如何更改选择 "placeholder"选项文本的颜色

标签 javascript jquery html css twitter-bootstrap-3

Bootstrap 3.3.7

我有一个 <select>元素并想使用 placeholder属性。我 read this isn't possible它应该作为 disabled 来完成像这样的选项:

<select id="foo">
    <option value="" disabled selected>Select your thing</option>
    <option value="abc">abc</option>
    <option value="def">def</option>
</select>

问题是,Bootstrap 给它一个深灰色(#555),因为它把它当作其他(非选择)文本输入中的文本。

Bootstrap 中字体的占位符颜色是浅灰色 ( #999 )。我希望它匹配。

但是,我找不到定位该选项的方法。我尝试了以下方法:

#foo option:disabled { color: #999; }

然后给第一个选项一个类,例如

 <option value="" class="placeholder-dummy" disabled selected>Select your thing</option>

 .placeholder-dummy { color: #999; }

我可以以任何方式定位它的唯一方法就是使用这样的 ID:

#foo { color: #999; }

但是......即使在用户更改选项后,它也会提供相同的浅灰色占位符颜色。

我想要“占位符”(“选择你的东西”)浅灰色(#999)但是当用户将其更改为任何其他选项时,对于那些根据其他输入(#555)采用深灰色的人)

这可能吗?

Edit 更喜欢纯 CSS 解决方案,但由于这看起来不可能,JavaScript 解决方案也可以。

真的不确定为什么人们对此投反对票,因为给出的答案都不起作用!也许没那么容易。

最佳答案

您可以使用 [disabled]:checked 选择器来做到这一点。

此选择器找到所有具有属性 disabled选项:

option[disabled] {
     color: #555;
}

并且此选择器找到所有当前选择的属性为 disabledoptions:

option[disabled]:checked {
     color: #999;
}

关于javascript - Bootstrap - 如何更改选择 "placeholder"选项文本的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45162995/

相关文章:

javascript - 删除嵌入的元素

javascript - 简单三元运算符

jquery - 在调整大小时保持图像覆盖在 div 中

javascript - JQUERY:简单获取div的偏移量

jQuery 自动完成下拉框

html - z-index : 'auto' vs z-index: 0, 的 child 以及 CSS 中的 "stacking context"是什么?

css - DIV float 和大小问题

javascript - 从 patosai 树多选中获取选中的选中值

javascript - 使用 jquery.append() 附加一个类为 "modal-trigger"的 div 不起作用

Javascript:使用 onclick 事件回调属性