2010-08-30 91 views
1

我的代码用于更改背景颜色很好,但“其他”返回不起作用。我错过了什么吗?这里是我有:否则返回到原始状态不起作用

<script type="text/javascript"> 
$(document).ready(function() { 
    var input = document.getElementById("test"); 

    input.onclick = function() 
    { 
    document.getElementById("quote_input").style.backgroundColor = "#AAB3AA"; 
    document.getElementById("test").style.backgroundColor = "#AAB3AA"; 

    else { 
     document.getElementById("quote_input").style.backgroundColor = "#000"; 
     document.getElementById("test").style.backgroundColor = "#000"; 

    } 
    }; 
}); 
</script> 
+0

很高兴我能帮到你。 FWIW,我在开始编程时学到的最有用的东西是学会用简单的测试用例进行检查。如果你再次遇到这样的事情,试着做一个最小的测试用例,例如 - if(document.getElementById(“q_i”)。style.backgroundColor =“#000”){alert('yes');} else {警告('no');} 您应该注意不要在生产代码中留下任何警报(),除非它们是故意的,但它们可以非常方便地进行调试。另外,请检查浏览器中的JS错误 - 他们经常给出解释问题的原因(虽然它可能是神秘的 - 然后是谷歌) – Basic 2010-08-31 20:12:15

回答

1

你错过了“如果”语句的一部分......

<script type="text/javascript"> 
$(document).ready(function() { 
var input = document.getElementById("test"); 

input.onclick = function() 
{ 

    if(SOME_CONDITION) { 
document.getElementById("quote_input").style.backgroundColor = "#AAB3AA"; 
    document.getElementById("test").style.backgroundColor = "#AAB3AA"; 

    } else { 
document.getElementById("quote_input").style.backgroundColor = "#000"; 
document.getElementById("test").style.backgroundColor = "#000"; 

} 



};}); 
</script> 
+0

谢谢......可以将某些条件与现有背景颜色一样简单吗? – Erik 2010-08-30 18:08:26

+0

@Erik:条件必须评估为布尔值。你用'else'语句的意图是什么?代码的目的是什么?如果你只是做'if(“#AAB3AA”)',它总是会评估为'true'。我*猜*你想'if(document.getElementById(“quote_input”)。style.backgroundColor =='#000')'切换颜色。 – 2010-08-30 18:10:11

+0

我想要改变输入和div的背景颜色,当点击并在外部点击时返回。 ; input.onclick <脚本类型= “文/ JavaScript的”> $(文件)。就绪(函数(){VAR 输入=的document.getElementById( “测试”): – Erik 2010-08-30 18:12:27