2014-04-03 26 views
0

此代碼符合所有條件,請有人告訴我我哪裏出錯了;我已檢查,我不能看到任何代碼錯誤。爲什麼所有的條件都符合。Javascript語句符合所有條件可能出錯的地方

<script> 
$(document).ready(function() { 
    var style = $('#el_teams_TeamFormation span').html(); 
    alert (style); 
     if (style = "4-4-2") 
      { 
      document.getElementById('footballpitch1').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "none"; 
      document.getElementById('footballpitch1').style.display = "block"; 
     } 
     if (style = "3-4-3") 
      { 
      document.getElementById('footballpitch1').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "block"; 
     } 
     if (style = "3-5-2") { 
      document.getElementById('footballpitch1').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "block"; 
     } 
     if (style = "4-5-1") { 
      document.getElementById('footballpitch1').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "block"; 
     } 
}); 

+6

沒有錯?在'if'的情況下使用賦值運算符而不是比較運算符是沒有問題的? – Teemu

回答

3

值得認真閱讀不同類型的比較操作符:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators

簡單地說,單(=),雙(==)和三( ===)等號表示JavaScript的不同之處。

單個=是一個賦值運算符,因此在每個if語句中,您基本上都要求腳本爲變量style賦值「4-4-2」(依此類推),而不是比較這兩個值。

如果您使用==(帶有類型強制)或===(不強制),您的代碼應該可以正常工作。

+0

有些事情是錯的,當我把==,代碼不執行意味着沒有條件滿足。 – user3395611

+0

@ user3395611你確定代碼中的其他部分是否設置正確?我根據你的代碼設置了一個小提琴,它的工作方式和預期的一樣:http://jsfiddle.net/QD334/ – BiscuitBaker

+0

我的代碼中有一個空間。它現在正在工作。謝謝, – user3395611

1
if (style == "4-4-2") 
      { 
      document.getElementById('footballpitch1').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "none"; 
      document.getElementById('footballpitch1').style.display = "block"; 
     } 
     if (style == "3-4-3") 
      { 
      document.getElementById('footballpitch1').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "block"; 
     } 
     if (style == "3-5-2") { 
      document.getElementById('footballpitch1').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "block"; 
     } 
     if (style == "4-5-1") { 
      document.getElementById('footballpitch1').style.display = "none"; 
      document.getElementById('footballpitch2').style.display = "none"; 
      document.getElementById('footballpitch3').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "none"; 
      document.getElementById('footballpitch4').style.display = "block"; 
     }