2017-08-16 109 views
-3

請幫助這裏:如果條件總是返回true,雖然它是錯誤的? 這些都是可變的股利和變量的html代碼開頭如果條件總是返回true

(<div class="div" id="div" style="background:yellow"></div>) 
(<input type="text" id="your">) 

$(document).ready(function generate() { 
     "use strict"; 
     var x = $(".2").text(Math.floor((Math.random() * 10))), 
      z = $(".3").text(Math.floor((Math.random() * 10))); 

     $(".div").text(x.text() + z.text()); 
    }); 



     var show = document.getElementById("show"), 
      your = document.getElementById("your").value, 
      div = document.getElementById("div").textContent; 
     show.onclick = function() { 
      "use strict"; 
      if (your == div) { 
       alert("yes"); 
      } else { 
       alert("noo"); 
      } 
     }; 
+2

你有沒有做過任何調試,從而不斷什麼?什麼是「你的」和「div」輸出? –

+0

爲什麼你把它標記爲jQuery,當它是純粹的JavaScript?嘗試在if語句之前添加一些console.log(your)和console.log(div),看看你得到了什麼。例如,如果兩者都未定義,那麼平等就是真實的。 – Snowmonkey

+0

所以對於這些錯誤感到抱歉,是的,在控制檯中,這兩個值是空的,我現在編輯我的問題。 –

回答

1

的問題是,你所定義的功能之外的值。因此,在onclick處理程序中,您將比較初始值。

如果你想實際值,你應該訪問值在函數內部:

var show = document.getElementById("show"), 
    your = document.getElementById("your"), 
    div = document.getElementById("div"); 

show.onclick = function() { 
    if (your.value == div.textContent) { 
     alert("yes"); 
    } else { 
     alert("noo"); 
    } 
}; 
+0

非常感謝,你解決了它... –

+0

高興地幫助,請接受答案;) – webdeb