2011-02-28 2 views
0

HTML을 사용하여 그리드를 그리는 중입니다. 각 tr 요소에는 ID가 있습니다. 단추를 클릭 할 때 tr을 제거 할 수 있기를 원하지만 행이 삭제되었음을 표시하기 위해 전체 표를 다시 그리지 않아도됩니다. .hide()를 사용하여이 작업을 수행 할 수 있지만, 문제는 행을 스트라이프하기 위해 함수를 호출해야한다는 것입니다. 행이 여전히 고려되므로 스트라이핑이 제대로 작동하지 않습니다. 아무도 해결책을 제안 할 수 있습니까?테이블에서 tr을 제거하시오.

+0

'$ ("tr_selector")를 제거()'BTW, 나는 전문가는 생각하지 않습니다. :) – Nishant

+0

예,하지만 문제는 remove()에 콜백 함수가 없다는 것입니다. – Capsule

+0

행을 숨긴 후 행을 테이블 맨 아래로 이동하지 않으시겠습니까? 그리고 위치를 유지하는 것이 중요하다면 색인을 메타 값에 저장하거나 이전 행 ID (있는 경우)를 적어 두었다가 나중에 다시 추가 할 수 있습니다. (또는 숨겨진 것들을 제외시키기 위해 스트라이핑 선택기를 변경하십시오. ['.map()'] (http://api.jquery.com/jQuery.map/)? –

답변

0

당신은 할 수 없습니다 :

$('tr_selector').remove(); 
if (!$('tr_selector')) { 
    //doesn't exist - do stuff 
} 

내 대답은 무시 - 세스가 더 ...

1

다시 다음 제거를 수행하는 함수를 작성 전화를해야하는 경우 다음이 제공하는 콜백 함수.

function remove(element, callback) 
{ 
    $(element).remove(); 

    if (typeof callback !== 'undefined') callback(); 
} 

그럼 당신이처럼 사용할 수 있습니다.

remove('#myId', function() { 

    // Do stuff. 

}); 
+1

플러스 하나! –

관련 문제