2016-07-22 98 views
-5

我看不出为什么我的if/else语句无法正常工作?为什么我的if/else语句不起作用?

的JavaScript

var month_games = "Games"; 
var month_hit = "Hit"; 
var month_stake = "Stake"; 
var month_profit = "Profit"; 
var games_month = 0; 
var hit_month = 0 + "%"; 
var stake_month = 0; 
var profit_month = 0; 

$(document).ready(function(){ 
    document.getElementById("Games_Month").innerHTML = month_games; 
    document.getElementById("Hit_Month").innerHTML = month_hit; 
    document.getElementById("Stake_Month").innerHTML = month_stake; 
    document.getElementById("Profit_Month").innerHTML = month_profit; 
}); 


$('#January').click(function(){ 
    if ($('#Games_Month').innerHTML = month_games) 
     {$('#Games_Month').innerHTML = games_month;} 
    else {$('#Games_Month').innerHTML = month_games;} 
}); 

HTML

<table class="table"> 
    <thead> 
    <tr id="January"> 
     <th>January</th> 
     <th id="Games_Month"></th> 
     <th id="Hit_Month"></th> 
     <th id="Stake_Month"></th> 
     <th id="Profit_Month"></th> 
    </tr> 
    </thead> 

现在,当我点击#january,我想的其它ID的改变到另一个变量是什么inner.HTML,但点击时再次,将其改回。

我的代码有什么问题?

+3

因为jQuery没有'innerHTML'? – adeneo

+1

'='是赋值运算符,您应该在'if'语句中使用'=='或'==='作为等号运算符 –

回答

-1

jQuery有没有innerHTML,它有html()代替。

单个=是assigment,两个==是非严格比较,三个===是严格比较。

没有必要为的if/else这里所有,只是使用正确的方法,如html()有回调

$(document).ready(function(){ 
    var stake_month = 0; 
    var profit_month = 0; 
    var month_games = "Games"; 
    var month_hit = "Hit"; 
    var month_stake = "Stake"; 
    var month_profit = "Profit"; 
    var games_month = 0; 
    var hit_month = 0 + "%"; 

    $("#Games_Month").html(month_games); 
    $("#Hit_Month").html(month_hit); 
    $("#Stake_Month").html(month_stake); 
    $("#Profit_Month").html(month_profit); 

    $('#January').click(function(){ 
     $('#Games_Month').html(function(_, html) { 
       return html === month_games ? games_month : month_games; 
     }); 
    }); 
}); 
+0

结束了使用这个例子,因为它填充较少,它完美的作品,谢谢。我可以问一下它是否可以用类而不是html来使用它? – ShrekTek

+0

@ShrekTek - 当然,jQuery的'addClass'和'removeClass'也支持回调,但是语法可能会有所不同。 – adeneo

+0

我应该像这个例子一样吗?就像将类包装到变量中并以这种方式调用它? – ShrekTek

2

您忘记了第二个=中的if和html()而不是innerHTML那里,因为您有一个jQuery对象,而不是DOM元素。

$('#January').click(function() { 
    if($('#Games_Month').html() == month_games) { 
     $('#Games_Month').html(games_month); 
    } 
    else { 
     $('#Games_Month').html(month_games); 
    } 
}); 
+0

啊谢谢!现在完美的作品:)我有点新使用JavaScript和JQuery – ShrekTek

+0

不客气,@ShrekTek! – eisbehr