今天遇到一個很是糾結的問題,需求又改了!原生的select給option加樣式,結果發現select選中仍是默認樣式,如下圖:


左思右想之后,感覺模擬一個實在太麻煩了(原來頁面結構得變動、樣式也得重寫甚至要多寫好多js和css代碼,總之感覺因為這么個小需求去做大改動不(ai)值(tou)得(lan))!
...經過一番思想上的斗爭與邏輯的整理,效果實現了:


直接上代碼:
html:
<select name="" id="bankSelect" onChange="changSel()"> <option>中國銀行</option> <option color="yelllow" style="color:#F00">農業銀行(正在升級中)</option> <option>建設銀行</option> </select
js:
<script type="text/javascript">
function changSel(){
$('#bankSelect option[color!="yelllow"]').css('color','#000'); //option沒有自定義屬性color="yelllow"默認為黑色
if($("#bankSelect option:selected").text().indexOf("(")>=0 && $("#bankSelect option:selected").text().indexOf(")")>=0) //如果選中option中包含"("和")"給select加紅色
{
$('#bankSelect').css('color','red');
}
else{
$('#bankSelect').css('color','#000'); //否則為默認的黑色
}
}
</script>
邏輯就是這樣的了 最好是直接判斷是否有color這個自定義屬性
