2012-01-31 2 views
0

JSON 개체에서 채워지는 테이블이 있습니다. 결과는 각 행의 셀 수가 고르지 않은 테이블입니다. 나는 일정한 번호가 있도록 각 행에 빈 셀을 자동으로 추가하는 스크립트를 작성 중입니다. 내 문제는 테이블에서 가장 긴 행의 길이를 알아내는 것입니다. 아래는 이것에 대한 나의 시도입니다. 그러나 행이 정의되지 않은 오류가 계속 발생합니다 (예 : '속성 길이가 정의되지 않음'을 읽을 수 없음). 나는 무엇을 잘못 했는가?테이블에서 가장 긴 행 길이를 얻으려면이 구문에 어떤 문제가 있습니까?

function countCells() { 
var columnCount; 
$("#MarketsTable tr").each(function() { 
    columnCount = Math.max(columnCount, $(this).cells.length); 
}) 
return columnCount; 
} 

답변

3

this.cells.length 중 하나와 $(this).cells.length를 교체합니다. 먼저 문제가 NaN을 Math.max로 전달하는 것과 관련된 경우 columnCount를 0으로 선언했습니다. 둘째로 $ (this) .cells가 바닐라와 대체되었습니다.

function countCells() 
{ 
    var columnCount = 0; 
    $("#MarketsTable tr").each(function() { 
     columnCount = Math.max(columnCount, this.cells.length); 
    }) 
    return columnCount; 

}

+0

좋은 캐치. 이 경우 JavaScript는 실제로'Math.max' 함수에서'NaN'을 반환합니다. – Blazemonger

+0

좋은 캐치 참으로. 나는 그걸 힘든 방법으로 생각했다. – hughesdan

+0

그는 처음부터 대답에 대해 mblase75 크레디트를주었습니다. 그러나 NaN에 +1을받을 자격이 있습니다. – hughesdan

관련 문제