我有一些選項內的HTML選擇元素(?):更改<select>取決於它的價值的顏色 - CSS只
<select class = "myRed" id="mySelect" onchange="onSelectChange()">
<option selected value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
我想選擇對象的文本顏色爲紅色當其值爲0時,否則爲黑色。我可能能夠通過JavaScript來做到這一點:
function onSelectChange(){
if (document.getElementById('mySelect').value == 0){
document.getElementById('mySelect').className = 'myRed';
} else {
document.getElementById('mySelect').className = 'myBlack'
}
}
其中
.myRed{color:red;}
和
.myBlack{color:black;}
然而,有人告訴我,這是隻通過CSS莫名其妙地訪問,而無需使用JavaScript的。我想不出使用JS的其他方式。任何人都可以請指教?
造型選擇真的是不一致的,從瀏覽器到瀏覽器 - 我通常使用類似customselect(http://adam.co/lab/jquery/ customselect /),但不同於你的問題狀態,這*會使用javascript來創建元素,然後是一層CSS來設計它們。 – Djave 2015-02-07 22:14:22
@Oriol感謝您的評論,我在沒有測試的情況下編寫它,因爲這次JS應該是「避免」的解決方案。謝謝,我修好了。 – 2015-02-07 22:14:50
@Djave,確切地說,我個人無法弄清楚如何讓它沒有JavaScript。但告訴我這個人知道他的東西,所以這是值得一試,看看這裏是否有人知道:) – 2015-02-07 22:17:10