2013-10-08 3 views
1

내가 "제거"와 같은 클래스가 TD를 제외하고이 테이블의 HTML을 얻을 수있는 방법 테이블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> 

아래에있는 경우. 사용하고 싶지 않다.

.remove() 

브라우저에서 디스플레이를 변경할 필요가 없으므로 사용하지 마십시오. HTML 만 있으면 돼.

올바른

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

이하 그러나 이것은 나에게 테이블에 대한 HTML을 제공하지 않습니다.

답변

5

html로 다음

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

데모도 table 태그를 포함해야하는 경우가

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

첫번째 요소를 복제 할 수 있습니다 : Fiddle

+0

.clone()을 사용하지 않는 방법이 있나요? –

+1

@ NuwanDammika 당신은 정규식을 사용하려고 할 수 있습니다 ... 추천하지 않습니다 ... –

+0

@ ArunP-Jonny 왜이 '$ ('table : not (.remove) ') .html();'work –

-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

이렇게하면 디스플레이에서 항목을 제거합니다. –