select[name="combo"] option[value="2"]:checked + select[name="combo"] {
color: red;
}
<select name="combo">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
如果您选择选项2,我想更改select
(非option
)颜色。
我做错了什么。
由于
答案 0 :(得分:0)
仅使用CSS无法完成此操作。您将不得不使用Javascript使其工作 - CSS不提供&#34;父母&#34;选择器。
CSS中的+
选择器用于紧跟在另一个元素之后的元素,而不是INSIDE它。
Working jsFiddle :(使用jQuery)
$('select').on('change',function(){
var $this = $(this);
switch($this.val()){
case '2':
$this.css('color','red');
break;
default:
$this.css('color','black');
}
});