2011-08-16 2 views
1

IM 배열 객체로 해석하려는 이상 1K 행과 7 개 이상의 열이 테이블을 가지고, 그것을 300 소요 FF jQuery에효율적인 방법은 IE에 배열 객체 테이블을 파싱하기

$(tableSearch).each(function() { 
    $('tr', $(this)).each(function (key, tr) { 
     var self = this; 
     var obj = new Object(); 
     var rowPos = 0; 
     $('td', tr).each(function (rowPos) { 
      obj[_self.colModel[rowPos].name] = $(this).html(); 
     }); 
     obj['Key'] = 'Rec-' + key; 
    }); 
}); 

사용하여 시도 U는 약 200 배 더 느리게 비교할 수 밀리 초,하지만 IE에서의 60 초 :(

을 복용.

는 IE의 성능을 얻을 수있는 방법이있다. 내가 IE 효율도 여전히 원시 자바 스크립트 방법을 시도 달성되지 않았습니다.

도와주세요 !!!!!!! .. 어떻게 모든 브라우저에서 비슷한 성능을 얻을 수 있습니다. UR 어떤 디버거를 사용하는 경우 비활성화 디버그 모드 : 사전

+0

이 문제를 해결할 방법이 없습니다. 작업을 연기 할 수있는 경우 코드를 백그라운드 스레드로 실행하는 것을 고려해야합니다. http://stackoverflow.com/questions/1160137/execute-background-task-in-javascript 또는 사용자에게 일종의 진행률 막대 표시. –

+0

포르쉐 삶의 거북이보다 빠릅니다. 거북이가 더 빨리 달릴 수없는 한 비슷한 속도로 포르쉐를 속력을 내릴 필요가 있습니다. –

+0

테이블에 데이터를 남겨 둘 수 있습니까? eq (1000) – mplungjan

답변

0

에서

덕분에 나는 우리가 이런 식으로

table = document.getElementById("myGrid"); 
    for (i = 0; i < table.rows.length; i += 1) { 
     var rowData = new Array(); 
     row = table.rows[i]; 
     for (j = 0; j < row.cells.length; j += 1) { 
      cell = row.cells[j]; 
      rowData[j] = cell.innerHtml 
     } 
     obj.push(rowData); 
    } 

주를 구현하는 경우 IE가 빨리 될 수있는 솔루션을 얻었다.

IE는 적당하지만 FF 나 사파리보다 빠를 수는 없습니다.