请参阅this link了解我在做什么。 我试图让标签改变颜色,如果它被选中。如果选择了其他选项,则前一个选项将更改回原始颜色。
我用Google搜索并尝试了某人的代码
function checkState(id){
var layer = document.getElementById(id);
if(layer.childNodes[0].checked === true){
layer.style.backgroundColor = "#0099CC";
}
else{
layer.style.backgroundColor = "#eee" ;
};
}
但是这会导致先前选择的选项在选择第二个选项时不会更改回原始颜色。 请不要JQuery。
答案 0 :(得分:2)
Here's your Fiddle纠正了实际工作。将来,请确保您的小提琴在发布之前确实有效。
除此之外,我已经修复了语法错误(for( int i...)
?真的吗?)并且我已经将“将颜色恢复正常”更改为仅清除样式,允许悬停效果继续工作。
在CSS的未来版本中,您将能够执行以下操作:
!label>input:checked {background-color:#09c;}
!
将确定选择器的“目标”。请注意,语法尚不明确。