2013-08-05 109 views
0

请参阅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。

回答

2

Here's your Fiddle纠正为实际工作。将来,请确保您的小提琴在发布之前真正有效。

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

在CSS的未来版本中,你将能够做这样的事情:

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

!将决定选择的“目标”。请注意,语法尚未确定。

+0

BOOM! Quick'n'easy! – Joum

+0

所以我几乎是正确的!我不知道如何使用小提琴,我不知道如何使用脚本标签。谢谢。 (for(int i = 0; i Jean