2013-08-31 45 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

謝謝圖沙爾。我要試試這個。 – NaN

+0

另外,非常感謝您使用'data()'的指針!這是很好的知道 – NaN

+0

是不可能選擇tr或td使用jquery ... 對我'$('tr')'...不起作用 –

0

你想刪除TR?

$(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