2016-07-22 138 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

相關問題