2011-02-28 164 views
0

我使用HTML繪製網格,每個tr元素都有自己的id。我希望能夠刪除按鈕上的tr,但不必重繪整個網格以顯示該行已被刪除。我可以使用.hide()來做到這一點,但問題是我需要調用一個函數來對我的行進行條帶化處理,並且由於該行仍然被視爲在那裏,條帶化不能正常工作。任何人都可以提出解決方案嗎?從表格中刪除tr

+0

'$( 「tr_selector」)刪除()'順便說一句,我不是專家。 :) – Nishant 2011-02-28 16:51:19

+0

是的,但問題是remove()中沒有回調函數。 – Capsule 2011-02-28 16:54:38

+0

爲什麼在隱藏它之後不要將行移動到表格的底部?如果保持該位置非常重要,只需將其索引存儲在元值中,或者記下前一行的ID(如果存在),然後再重新添加。 (或者改變你的striping選擇器來排除那些隱藏的,也許使用['.map()'](http://api.jquery.com/jQuery.map/)? – 2011-02-28 16:57:11

回答

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

加一個來自我的! – 2011-02-28 17:02:17