2017-12-31 209 views
0

자바 스크립트가 올바르게 인쇄 서브 테이블 값, 오류를

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로이 변수를 처리합니다 자바 스크립트

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 –