2017-09-16 3 views
0

내 응용 프로그램의 기존 테이블에서 일부 변경을 수행하여 테이블을 다시 포맷하려고합니다. 나는 아래의 인터넷에 대한 검색 오류가 있지만 이것에 대한 해결책을 찾지 못했습니다. 내가 얻고테이블 재 포맷팅에서 undefined의 'createDocumentFragment'속성을 읽을 수 없습니다.

오류는 다음과 같습니다 :

여기에 정의되지 않은

의 특성 'createDocumentFragment'을 읽을 수 없습니다 아래 라인

을 내

function editTable() 
{ 

// debugger; 
// remove blank td pair 
$('#prodHold tr td').each(function() { 
    // debugger; 
    if ($(this).text() == ''){ 
     $(this).prev('td').remove(); 
     $(this).remove(); 
    } 
}); 


// get array of all tds 
var tds = $('#prodHold tr td').length; 
var td_arr = []; 
for(var i=0; i<tds; i++){ 
    // if($(this).text()!== ''){ 
     // td_arr.push($('#prodHold tr td').eq(i).html()); 
    // } 
    if($(this).html()!== ''){ 
     td_arr.push($('#prodHold tr td').eq(i).html()); 
    } 

} 

// prepare table, wrap tr for every 4 tds, *according to your table sample 
var e = '<tr>'; 
for(var i=1; i<=td_arr.length; i++){ 
    if(i%4 == 0){ 
     e = e + '<td>' + td_arr[i-1] + '</td></tr><tr>'; 
    } 
    else{ 
     e = e + '<td>' + td_arr[i-1] + '</td>'; 
    } 
} 
// append 
$('#prodHold').html(e); 
} 



$(document).ready(function() { 
    editTable(); 

}); 

얻기 오류입니다

내가 질문에서 사용하고 0

코드는 내가 여기에 뭔가 잘못을하고있는 중이하면 나를 인도 해주십시오

Remove content from table and reformat the table

아래에 배치했다.

답변

1

this이 DOM 요소를 참조하지 않기 때문에 오류가 $(this).html()에서 트리거 된 것으로 보입니다. 정상적인 for 루프에서 this을 사용하고 있으며, 아마도 jQuery each 루프 콜백에서 사용하기를 원했을 것입니다. 이처럼

:

// get array of all tds 
var tds = $('#prodHold tr td'); // not length 
var td_arr = []; 
tds.each(function() { 
    if($(this).html()!== ''){ 
     td_arr.push($(this).html()); 
    } 
}) 

NB : 당신이 응답으로받은 오류 코드를 허용 표시된 할 가치가 있다면 당신은 정말 다시 생각해야한다.