2017-12-31 131 views
0

Javascript für Schleifenprüfung zeigt Fehler

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); 
 
      
 

 
     } 
 
     
 
    } 
 
}
Immer wenn ich diesen Code ausführen, diese richtig gedruckt wird die untergeordnete Tabelle Werte. Before if condition Und ich überprüfe jeden Untertabelle Wert mit den Main-Tabelle Zellen 2 Wert. Wenn es größer ist, dann zeige ich die Fehlermeldung. Aber auch wenn es nicht mehr ist es zeigt den Fehler

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

Antwort

1

Sie

parseInt(noo)>parseInt(ch) 

sonst tun sollte Javascript um diese Variablen als String behandeln wird so 5 ist größer als 10

2

Ah, aber es ist größer. Sie vergleichen "5" mit "10". "5", die Zeichenfolge, ist größer als "10", die Zeichenfolge. Wenn Sie möchten, diese als Zahlen vergleichen, wandeln sie in Zahlen vor dem Vergleich:

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

Was ist das, was Sie tun? Verwenden Sie einfach den unären Operator '+'. –

+0

@AngelPolitis Eine Frage des Stils. Es dauert immer nur ein bisschen länger, um herauszufinden, was mit dem unären Plus vor sich geht. – AuxTaco

+0

Sicher, aber da das einzige, was es macht, etwas in eine Nummer konvertiert, glaube ich, dass es nur eine Frage der Gewöhnung ist. Große Antwort trotzdem! +1 –