programing

jQuery 처음을 제외한 모든 테이블 행 삭제

lovejava 2023. 5. 29. 09:04

jQuery 처음을 제외한 모든 테이블 행 삭제

jQuery를 사용하여 첫 번째 행을 제외한 테이블의 모든 행을 삭제하려면 어떻게 해야 합니까?인덱스 선택기를 사용하는 것은 이번이 처음입니다.예를 올바르게 이해하면 다음과 같은 작업이 가능할 것입니다.

$(some table selector).remove("tr:gt(0)");

이것은 "jQuery 개체에 일부 테이블을 래핑한 다음 해당 행의 요소 인덱스가 0보다 큰 모든 'tr' 요소(행)를 제거하십시오."라고 읽습니다.실제로는 오류를 생성하지 않고 실행되지만 테이블에서 행을 제거하지는 않습니다.

내가 무엇을 놓쳤는지, 그리고 어떻게 해야 합니까?물론 스트레이트 자바스크립트를 사용할 수도 있지만, jQuery로 너무 재미있어서 jQuery로 해결하고 싶습니다.

이렇게 하면 됩니다.

$(document).ready(function() {
   $("someTableSelector").find("tr:gt(0)").remove();
});

다음과 같은 의도를 고려할 때 이것이 더 읽기 쉽다고 생각합니다.

$('someTableSelector').children( 'tr:not(:first)' ).remove();

하위 항목을 사용하면 검색 깊이를 제한하여 첫 번째 행에 테이블이 포함된 경우도 처리됩니다.

TBODY 요소가 있는 경우 다음 작업을 수행할 수 있습니다.

$("someTableSelector > tbody:last").children().remove();

THEAD 또는 TFOOT 요소가 있는 경우 다른 작업을 수행해야 합니다.

이를 수행하는 또 다른 방법은 테이블의 ad 및 tbody 요소와 함께 jQuery의 빈() 함수를 사용하는 것입니다.

표의 예:

<table id="tableId">
<thead>
    <tr><th>Col1</th><th>Col2</th></tr>
</thead>
<tbody>
    <tr><td>some</td><td>content</td></tr>
    <tr><td>to be</td><td>removed</td></tr>
</tbody>
</table>

그리고 jQuery 명령:

$("#tableId > tbody").empty();

이렇게 하면 테이블의 tbody 요소에 포함된 모든 행이 제거되고 ad 요소가 헤더가 있어야 하는 위치에 유지됩니다.표의 내용만 새로 고칠 때 유용할 수 있습니다.

저라면 아마 한 명의 선택자로 요약했을 겁니다.

$('someTableSelector tr:not(:first)').remove();

선택기가 제거 안에 있을 필요는 없습니다.

다음과 같이 보여야 합니다.

$("#tableID tr:gt(0)").remove();

즉, 테이블 ID가 있는 테이블의 첫 번째 행을 제외한 모든 행을 선택합니다.ID를 지정하고 DOM에서 제거합니다.

$('#table tr').slice(1).remove();

저는 '조각'이 다른 모든 접근법보다 빠르다는 것을 알게 된 것을 기억합니다. 그러니 그냥 여기에 두세요.

ID가 있는 테이블 고려tbljQuery 코드는 다음과 같습니다.

$('#tbl tr:not(:first)').remove();

첫 번째 행(헤더 제외)을 제외한 모든 행을 제거하려면 다음 코드를 사용합니다.

$("#dataTable tr:gt(1)").remove();

가장 쉬운 방법:

$("#mytable").find($("tr")).slice(1).remove()

- 먼저 표 참조
- 요소 목록을 가져와 잘라내고 선택한 요소를 제거합니다.

-답장이 너무 늦어서 죄송합니다.

행(및 반복을 통해 다른 모든 행)을 삭제하는 가장 쉬운 방법은 다음과 같습니다.

$('#rowid', '#tableid').제거(());

나머지는 쉽습니다.


$("#p-interval"). find('tr.row-interval'). remove();

함수로 감싼 경우:

function remove_rows(tablename) { 
    $(tablename).find("tr:gt(0)").remove();        
}

그럼 그렇게 부르세요.

remove_rows('#table1');
remove_rows('#table2');

이것은 완벽하게 작동합니다.

$("#myTable tbody").children( 'tr:not(:first)' ).html("");

이것은 나의 경우 다음과 같은 방식으로 작동했고 잘 작동했습니다.

$("#compositeTable").find("tr:gt(1)").remove();

언급URL : https://stackoverflow.com/questions/370013/jquery-delete-all-table-rows-except-first