2013-08-31 3 views
0

나는이 작업을 수행 할 수 있는지 잘 모르겠습니다. 더 좋은 방법이 있다면 알려 주시기 바랍니다.HTML 노드를 제거하는 방법

AJAX가있는 페이지에 푸시 된 데이터 테이블이 있습니다. 사용자는 이러한 데이터를 삭제할 수 있습니다. 삭제할 데이터가 더 이상 없으면 목록에서 행을 삭제하고 싶습니다.

어떻게 해야할지 모르겠지만 행 자체에 ID가없는 행을 제거 할 수 있는지 알고 싶습니다. 여기

데이터의 테이블 행 중 하나가

<tr> 
    <td data-pid="2"><a data-pid="2" href="#">test</a></td> 
    <td><a data-pid="2" class="manage-icon" href="#"><img alt="" src="delete.png"></a></td> 
</tr> 

This is what I'm using to get the id 
$(this).attr('data-pid'); 

답변

1

시도

$('a[data-pid="' + pid + '"]').closest('tr').remove(); 

.closest()

사용

$(this).data('pid'); 

대신

$(this).attr('data-pid'); 

.data()

.parents() 모든 일치하는 조상 요소에 대해.

closest() (가장 먼저 일치하는 요소 (조상 또는 자체)).

.closest() 정말 내가 바로이 사용되는 경우``빈 태그를 떠나의 의미에 대해 걱정할 필요가 없습니다 것입니다 귀하의 경우

+0

Tushar에게 감사드립니다. 나는 이것을 시도 할 것이다. – NaN

+0

또한'data()'를 사용하여 포인터를 주셔서 감사합니다! 좋은 점은 – NaN

+0

은 jquery를 사용하여 tr 또는 td를 선택할 수 없음을 의미합니다 ... for me'$ ('tr')'... 작동하지 않습니다. –

0

당신이 그럴 필요를 제거 할 모습입니다?

$(function() { 
    $('img').click(function() { 
     var a = $(this).parent(); 
     if(confirm('Delete?')) { 
      var pid = a.data('pid'); 
      //do ajax remove; 
      a.parents('tr').remove(); 
     } 
    }); 
}); 
+0

내 생각에 더 빠르다? – NaN

+0

이것이 내가 여기서 생각하는 것입니다. 사용자가 클릭하는 전체 행을 제거하고 싶지만 행에 ID가 연결되어 있지 않아 문제가 발생했습니다. 그러나 나는'$ (this) .parent ('tr'). remove();가 나를 위해 그것을 할 수 있음을 알았다. 나는 이것을 시도 할 것이다. 감사합니다. – NaN

+0

편집을 확인하십시오. – OneOfOne

관련 문제