簡體   English   中英

如何更改選擇選項內的跨度顏色?

[英]How to change color of span inside select option?

如何在選擇選項中將跨度顏色更改為紅色? 在js小提琴我想改變<span class="myError">This is a required field.</span>顏色<span class="myError">This is a required field.</span>為紅色 在此輸入圖像描述

 select{ color: green; } select option { color: black; } select option .myError{ color:red } 
 <select > <option value="">Color: <span class="myError">This is a required field.</span> </option> <option value="17">Color: Midnight Blue</option> <option value="18">Color: Radar Red</option> </select> 

這是一個奇特的想法,使用選擇和mix-blend-mode上方的疊加,然后我使用CSS varibale控制顏色的變化。

 $('select').change(function(){ $(this).parent().attr('style','--color:'+$(this).find(':selected').data('color')); }) 
 .select { position: relative; display: inline-block; --color:red; } .select:before { content: ""; position: absolute; right: 20px; top: 1px; bottom: 1px; left: 40px; background: var(--color); mix-blend-mode: lighten; } select option { color: black; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="select"> <select> <option value="" disabled selected>Color: This is a required field. </option> <option value="17" data-color="blue">Color: Midnight Blue</option> <option value="18" data-color="pink">Color: Radar Red</option> </select> </div> 

渲染DOM后,您可以檢查元素,您將看到跨度將被刪除。 這就是為什么css樣式屬性不起作用的原因,因為沒有span或類.myError存在。

換句話說,選項標簽不允許其他標簽。

您不能在<option>標記內使用html標記。 但是你可以使用css實現這個目的:

 select{ color: red; } select option { color: black; } select option:first-child{ color:red } .mid-blue{ color: #0000CD; } .radar-red{ color: #FF0000; } 
 <select > <option value="">Color:This is a required field </option> <option class='mid-blue' value="17">Color: Midnight Blue</option> <option class='radar-red' value="18">Color: Radar Red</option> </select> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM