2017-12-31 17 views
0

javascriptのは、私はこのコードを実行するたびに、これは正しくサブテーブル値を出力

function check() 
 
{ 
 
    var rowl=document.getElementsByClassName("tbody")[0].rows; 
 
    for(var r=0;r<rowl.length;r++) 
 
    { 
 
     ch=document.getElementsByClassName("tbody")[0].rows[r].cells[2].childNodes[0].value; 
 
     
 
     var tiderow=document.getElementsByClassName("tide")[r];//rows[0].cells[1].childNodes[0].value; 
 
     for(var t=0;t<tiderow.rows.length;t++) 
 
     { 
 
      var noo=tiderow.rows[t].cells[1].childNodes[0].value; 
 
      console.log(noo); 
 
      
 

 
     } 
 
     
 
    } 
 
}
エラーを示しています。 Before if condition そして、メインテーブルセル 2の値で各サブテーブル値を確認しています。それが大きい場合は、エラーメッセージを表示しています。 しかし、それは大きくないにもかかわらず、それはあなたがそう弦5と、この変数を扱いますjavascriptの他

parseInt(noo)>parseInt(ch) 

を行う必要がありますエラー

function check() 
 
{ 
 
    var rowl=document.getElementsByClassName("tbody")[0].rows; 
 
    for(var r=0;r<rowl.length;r++) 
 
    { 
 
     ch=document.getElementsByClassName("tbody")[0].rows[r].cells[2].childNodes[0].value; 
 
     
 
     var tiderow=document.getElementsByClassName("tide")[r];//rows[0].cells[1].childNodes[0].value; 
 
     for(var t=0;t<tiderow.rows.length;t++) 
 
     { 
 
      var noo=tiderow.rows[t].cells[1].childNodes[0].value; 
 
      console.log(noo); 
 
      if(noo>ch) 
 
      { 
 
       console.log("Error occured"); 
 
      } 
 

 
     } 
 
     
 
    } 
 
}

After inserting the if condition

答えて

1

を示しが10より大きい。

2

ああ、でもです。 "5""10"を比較しています。 "5"、文字列、"10"、文字列より大きいです。これらを数値として比較する場合は、比較前に数値に変換してください。

ch = Number(rowl[r].cells[2].childNodes[0].value); 
var noo = Number(tiderow.rows[t].cells[1].childNodes[0].value); 
+0

あなたは何をしていますか?単項演算子 '+'を使うだけです。 –

+0

@AngelPolitisスタイルの問題。私は単項プラスで何が起こっているのか理解するのにちょっと時間がかかります。 – AuxTaco

+0

確かに、それは何かを数字に変換することしかないので、それはそれに慣れていくだけの問題だと私は信じています。それにもかかわらず、素晴らしい答え! +1 –

関連する問題