0

请参阅此链接了解我在做什么。如果选中,我正在尝试使标签更改颜色。如果选择了另一个选项,前一个选项将变回原来的颜色。

我用谷歌搜索并尝试了某人的代码

function checkState(id){
    var layer = document.getElementById(id);
    if(layer.childNodes[0].checked === true){
    layer.style.backgroundColor = "#0099CC";
    }
else{
    layer.style.backgroundColor = "#eee" ;
};
}

但这会导致先前选择的选项在选择第二个选项时不会变回原始颜色。请不要使用 JQuery。

4

1 回答 1

2

这是您的 Fiddle更正以实际工作。将来,请在发布之前确保您的 Fiddle 确实有效。

除其他外,我已经修复了语法错误(for( int i...)?真的吗?)并且我已经更改了“将颜色设置回正常”以清除样式,允许悬停效果继续工作。

在未来的 CSS 版本中,您将能够执行以下操作:

!label>input:checked {background-color:#09c;}

!确定选择器的“目标”。请注意,语法尚不确定。

于 2013-08-05T08:32:45.457 回答