2013-10-08 38 views
1

,如果我有如下表JQuery的GET HTML表格除了一些陣

<table> 
<tr> 
    <td>Name</td> 
    <td>Age</td> 
    <td class='remove'>Age <input type=checkbox title='Select All' /> </td> 
</tr> 
<tr> 
    <td>Na11</td> 
    <td>11</td> 
    <td class='remove'><input type=checkbox /></td> 
</tr> 
<tr> 
    <td>Name</td> 
    <td>Age</td> 
    <td class='remove'>Age <input type=checkbox /></td> 
</tr> 
</table> 

我怎樣才能得到這個表的HTML,除了TD具有類爲「刪除」。我不想使用

.remove() 

因爲我不需要更改瀏覽器上的顯示。我只需要HTML。

低於正確

$('table :not(.remove)').html(); 

但是這並沒有給我表的HTML。

回答

5

您可能需要克隆元素第一

$('table').clone().find('.remove').remove().end().html(); 

如果HTML需要包含table標籤也然後

$('table').clone().find('.remove').remove().end()[0].outerHTML; 

演示:Fiddle

+0

有沒有一種方法沒有使用.clone() –

+1

@NuwanDammika你可以嘗試使用正則表達式...不會推薦... –

+0

@ ArunP-Jonny爲什麼不會這個'$('table:不(.remove)')。html();'工作 –

-1

試試這個

var html1 = $('table').find('.remove').remove().end().html(); 
$('#t1').text(html1); 
var html2 = $('table').find('.remove').remove().end()[0].outerHTML; 
$('#t2').text(html2); 

如果你想改變它,就不需要克隆。

+0

這將從顯示中刪除項目。 –