我有一个HTML选择元素,里面有一些选项:
<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,我无法想到其他的方法。请问是否有人能提供建议?
[selected]
来获取最初选中的option
,但它不会是当前的选项。即使它是当前选项,你也需要一个父级选择器来为select
添加样式。而且,即使浏览器支持父级选择器,样式化select
也是非常不可靠的。 - Oriol