javascript - 是否可以仅更改选择元素中第一个选项的字体颜色

标签 javascript jquery html css

使用 Select2js 插件,是否可以只更改 select 元素中第一个选项的字体颜色?

我试过了……

select option:first-child { color:red; }

$(function() {
    $("select option:first-child").addClass("red");
});

.red { color:red; }

示例:

$(function() {
    $("select").select2();
  $("select option:first-child").addClass("red");
});
.red {color: red;}
select option:first-child {color: red;}
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-rc1/jquery.min.js"></script>
<select>
  <option>Text 1</option>
  <option>Text 2</option>
  <option>Text 3</option>
</select>

最佳答案

如果您右键单击 select2 选项并选择“Inspect”(或“Ins​​pect Element”,取决于您的浏览器),您会看到它们不是 option 元素,它们是在 ulselect2-results__options 中重新 liselect2-results__option 元素。

所以:

.select2-results__options li.select2-results__option:first-child {
  color: red;
}

Updated Fiddle ,或作为堆栈片段:

$(function() {
  $("select").select2();
  $("select option:first-child").addClass("red");
});
.select2-results__options li.select2-results__option:first-child {
  color: red;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet"/>
<select>
  <option>Text 1</option>
  <option>Text 2</option>
  <option>Text 3</option>
</select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-rc1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.js"></script>

如果您愿意,您可以使用 select2-results__option--highlighted 类进一步优化事件元素的样式,该类在元素“事件”时添加。例如,这里我将它设为蓝色,当它不活动时,当它是红色时:

$(function() {
  $("select").select2();
  $("select option:first-child").addClass("red");
});
.select2-results__options li.select2-results__option:first-child {
  color: blue;
}
.select2-results__options li.select2-results__option.select2-results__option--highlighted:first-child {
  color: red;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet"/>
<select>
  <option>Text 1</option>
  <option>Text 2</option>
  <option>Text 3</option>
</select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-rc1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.js"></script>

关于javascript - 是否可以仅更改选择元素中第一个选项的字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37655016/

相关文章:

javascript - 使用 Chrome/FF 增量按钮时金额框不累加

javascript - 确定字符串是否通过 jQuery 编码为 HTML?

JAVA - 将用户输入打印到 HTML 中

javascript - 如何以交互方式切换网页上的 CSS 工作表以进行测试/学习?

javascript - 将 document.write 同步更改为异步的内容?

javascript - 使用 jQuery 的 $.load() 函数在请求正文中发送对象

javascript - Angular Material ng-消息未出现在对话框中

javascript - 如何使用Mediaelement Player实现可点击的音频章节链接?

javascript - 什么是 strophe 以及如何将它与 JQuery 一起使用?

javascript - 将 PartialView 的 javascript 放在页面上的特殊位置