javascript - 如何将样式应用于选择中当前选定的选项元素?

标签 javascript jquery html css

我需要设置 style="color: #D4D4D4"select 的特定选项元素.当我设置 <option value="TEST" style="color: #D4D4D4">TEST</option>展开选项下拉列表时,它会成功更改样式。但是当前选择的选项元素在select (当下拉列表未展开时)仍然具有默认字体颜色。怎么改?

更新:

谢谢!但是sel.onchange不跟踪对选项属性所做的更改。我使用 jQuery 来设置属性并且需要更新以立即反射(reflect)在选择中。我该怎么做?

jQuery

$('.form-control option[value="' + $scope.environment + '"]').attr('style', 'color: #D4D4D4');

最佳答案

var sel = document.getElementById("sel");

function changeSelectColor(){
  sel.style.color = sel.options[sel.selectedIndex].style.color;
}

changeSelectColor(); // Do when ready
sel.onchange = changeSelectColor; // And do it on change
  <select id="sel">
    <option value="TEST1" style="color:red">TEST1</option>
    <option value="TEST2" style="color:blue">TEST2</option>
    <option value="TEST3" style="color:green">TEST3</option>
</select>

关于javascript - 如何将样式应用于选择中当前选定的选项元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26754180/

相关文章:

javascript - 请帮我找到我的 Bootstrap 3 导航栏中的错误

javascript - 从应用商店或 Play 商店更新时应用程序崩溃,因为它具有旧的本地存储

html - 如何使文本换行为scrollWidth而不是clientWidth?

asp.net MVC 中的 Javascript...初学者问题

javascript - Adobe LiveCycle JavaScript if-else 函数?

javascript - 使用动画和每个迭代动画

javascript - 拉伸(stretch)背景以适应 iPhone 屏幕的问题

Javascript:滚动时从一个 div 滚动到另一个?

javascript - 缩短 JQuery 片段

javascript - 使用 JavaScript 从表中删除行时遇到问题