2012-11-02 50 views
4

我知道如何獲得使用HTML5數據屬性的表對象$('#tableid tr').attr('data-id')的屬性。但是,當我嘗試刪除基於data-id屬性的行時,它似乎不起作用。刪除HTML表格行,包含數據屬性與jQuery

當我做了這樣的事情:

var theRowId = $('#tableid tr').attr('data-id'); 
$('#tableid tr#'+theRowId).remove(); 

沒有奏效。 Html 5數據屬性應該像任何其他屬性一樣處理,對嗎?

+1

我們可以看到HTML嗎? – thatidiotguy

+0

'data-id'和'id'完全不同。不要混淆兩者。另外,爲什麼腳本中有'
'標籤? – TheZ

+0

是的,您可以像處理普通屬性一樣處理數據屬性,但是您的第一行只會獲取第一個tr的數據屬性的值。下一行假設存在一個具有'id =「thedataattributevalue」' –

回答

7

您需要通過TR的指數要從

$('#tableid tr:eq(0)'); //第一行的表中的數據屬性

$('#tableid tr:eq(1)'); //第二行中的表

因爲有可能是表中的多行

var theRowId = $('#tableid tr:eq(1)').attr('data-id'); // Get the Second Row id 
$('#tableid tr#'+theRowId).remove(); // Remove the row with id 

或者如果你知道行的ID ..簡單的做到這些

$('#tableid tr[data-id="'+theRowId+'"]').remove(); 
+0

表的動態生成表,所以我不能通過索引作爲操作它應該處理任何行... – Kixoka

+0

什麼是你想刪除的行 –

+0

這工作:var theRowId = $(this).attr('data-id'); $('#tableThing tr [data-id =''+ theRowId +'「]')。remove(); – Kixoka

2

數據-ID是不喜歡的ID

你需要這樣做:

$('#tableid tr[data-id='+ theRowId +']').remove() 
5

你需要改變你如何'正在選擇data-id屬性。 嘗試選擇像這樣的行:

$('#tableid tr[data-id="'+theRowId+'"]').remove(); 

這將與相匹配的數據-id屬性的TR選擇。