19

文字列である 2 つの変数を比較したいのですが、エラーが発生します。

<script>
    var to_check=$(this).val();
    var cur_string=$("#0").text();
    var to_chk = "that";
    var cur_str= "that";

    if(to_chk==cur_str){
        alert("both are equal");
        $("#0").attr("class","correct");    
    } else {
        alert("both are not equal");
        $("#0").attr("class","incorrect");
    }
</script>

if ステートメントに何か問題がありますか?

4

4 に答える 4

20

===は必要ありません。どちらの値も文字列ではないことがわかっているため、型を比較す​​る必要はありません。

function do_check()
{
  var str1 = $("#textbox1").val();
  var str2 = $("#textbox2").val();

  if (str1 == str2)
  {
    $(":text").removeClass("incorrect");
    alert("equal");
  }
  else
  {
    $(":text").addClass("incorrect");
    alert("not equal");
  }
}
.incorrect
{
  background: #ff8888;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id="textbox1" type="text">
<input id="textbox2" type="text">

<button onclick="do_check()">check</button>

于 2013-04-01T09:56:19.797 に答える
6

記号を使用する代わりに、比較するときに記号を==使用する方が安全===です。投稿したコードはうまく機能します

于 2013-04-01T09:40:54.120 に答える