programing

jQuery를 사용하여 테이블 행을 삭제하는 가장 좋은 방법은 무엇입니까?

kingscode 2022. 10. 1. 21:03
반응형

jQuery를 사용하여 테이블 행을 삭제하는 가장 좋은 방법은 무엇입니까?

jQuery를 사용하여 테이블 행을 삭제하는 가장 좋은 방법은 무엇입니까?

네 말이 맞아.

$('#myTableRow').remove();

에 '있다'가 있으면 잘 작동합니다.id예를 들어 다음과 같습니다.

<tr id="myTableRow"><td>blah</td></tr>

가 없는 경우idjQuery의 셀렉터많은 것을 사용할 수 있습니다.

$('#myTable tr').click(function(){
    $(this).remove();
    return false;
});

더 좋은 것

$("#MyTable").on("click", "#DeleteButton", function() {
   $(this).closest("tr").remove();
});

테이블 내의 데이터 셀 내부에 버튼/링크가 있다고 가정하면 다음과 같은 것이 도움이 됩니다.

$(".delete").live('click', function(event) {
    $(this).parent().parent().remove();
});

클릭하면 클릭된 버튼/링크 상위 항목이 제거됩니다.일반 DOM 객체가 아닌 jQuery 객체이기 때문에 parent()를 사용해야 합니다.버튼은 데이터 셀 안에 있고 행 안에 있기 때문에 parent()를 두 번 사용해야 합니다.그걸 없애려고 하는 거야$(이것)은 클릭된 버튼이기 때문에 다음과 같은 기능만 있으면 버튼만 삭제됩니다.

$(this).remove();

이렇게 하면 데이터 셀이 제거됩니다.

    $(this).parent().remove();

행을 삭제하기 위해 아무 곳이나 클릭하기만 하면 다음과 같은 작업을 수행할 수 있습니다.이를 쉽게 수정하여 사용자에게 프롬프트를 표시하거나 더블 클릭만으로 작업할 수 있습니다.

$(".delete").live('click', function(event) {
    $(this).parent().remove();
});

도움이 됐으면 좋겠는데...저도 좀 힘들었어요.

다음을 사용할 수 있습니다.

$($(this).closest("tr"))

요소의 부모 테이블 행을 찾습니다.

이것은 parent().parent()보다 우아합니다.처음부터 시작했지만 곧 잘못된 방법을 알게 되었습니다.

-편집 - 행 삭제에 대한 질문이라는 지적이 있었습니다.

$($(this).closest("tr")).remove()

이하에 나타내는 바와 같이, 간단하게 실시할 수 있습니다.

$(this).closest('tr').remove();

유사한 코드 스니펫을 여러 요소에 대한 이벤트 발생과 같은 많은 작업에 사용할 수 있습니다.

쉬.. 이거 먹어봐

$("table td img.delete").click(function () {
    $(this).parent().parent().parent().fadeTo(400, 0, function () { 
        $(this).remove();
    });
    return false;
});

다음 조건을 만족할 수 있습니까?

$('#myTableRow').remove();

행을 .<tr>테이블에서 태그를 지정합니다.예를 들어 테이블에서 마지막 행을 삭제하는 코드는 다음과 같습니다.

$('#myTable tr:last').remove();

* 위의 코드는 이 jQuery Howto 게시물에서 가져온 것입니다.

function removeRow(row) {
    $(row).remove();
}

<tr onmousedown="removeRow(this)"><td>Foo</td></tr>

이런 것도 효과가 있을 수 있지 않을까?'이거'로 뭘 해보지 않아서 잘 될지 안 될지 모르겠어요.

사이즈를 위해 이것을 시험해 보다

$(this).parents('tr').first().remove();

전체 목록:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function() {
        $('.deleteRowButton').click(DeleteRow);
      });

    function DeleteRow()
    {
      $(this).parents('tr').first().remove();
    }
  </script>
</head>
<body>
  <table>
    <tr><td>foo</td>
     <td><a class="deleteRowButton">delete row</a></td></tr>
    <tr><td>bar bar</td>
     <td><a class="deleteRowButton">delete row</a></td></tr>
    <tr><td>bazmati</td>
     <td><a class="deleteRowButton">delete row</a></td></tr>
  </table>
</body>
</html>

그것을 실제로 보다.

또 다른 사람 byempty():

$(this).closest('tr').empty();

삭제할 행이 변경될 수 있는 경우 이를 사용할 수 있습니다.삭제할 행 #에 이 함수를 전달하기만 하면 됩니다.

function removeMyRow(docRowCount){
   $('table tr').eq(docRowCount).remove();
}

이런 HTML을 가지고 있다면

<tr>
 <td><span class="spanUser" userid="123"></span></td>
 <td><span class="spanUser" userid="123"></span></td>
</tr>

서 ''는userid="123"는 할 때 할 수 .

이런 걸 쓸 수 있어요.

  $(".spanUser").live("click", function () {

        var span = $(this);   
        var userid = $(this).attr('userid');

        var currentURL = window.location.protocol + '//' + window.location.host;
        var url = currentURL + "/Account/DeleteUser/" + userid;

        $.post(url, function (data) {
          if (data) {
                   var tdTAG = span.parent(); // GET PARENT OF SPAN TAG
                   var trTAG = tdTAG.parent(); // GET PARENT OF TD TAG
                   trTAG.remove(); // DELETE TR TAG == DELETE AN ENTIRE TABLE ROW 
             } else {
                alert('Sorry, there is some error.');
            }
        }); 

     });

그래서 그 경우 당신은 그 클래스나 아이디를 모른다.TR태그를 붙이지만 삭제할 수 있습니다.

$('tr').click(function()
 {
  $(this).remove();
 });

위의 코드가 작동하기 때문에 시험해 보시겠지만, 왜 한동안 작동하다가 테이블 전체가 지워지는 모르겠습니다.또한 행을 클릭하여 행을 제거하려고 하지만 정확한 답을 찾을 수 없습니다.

오래된 투고인 것은 감사하지만, 같은 것을 하려고 하고 있었는데, 받아들여진 회답이 나에게 맞지 않는 것을 알았습니다.JQuery가 이 글을 쓴 이후로 넘어갔다고 가정합니다.

어쨌든, 나는 다음과 같은 것이 나에게 효과가 있다는 것을 알았다.

$('#resultstbl tr[id=nameoftr]').remove();

이게 도움이 될지 모르겠네요.위의 예시는 더 큰 기능의 일부였기 때문에 이벤트청취자에 포함시키지 않았습니다.

부트스트랩 테이블을 사용하는 경우

이 코드 스니펫을 bootstrap_table.table에 추가합니다.

BootstrapTable.prototype.removeRow = function (params) {
    if (!params.hasOwnProperty('index')) {
        return;
    }

    var len = this.options.data.length;

    if ((params.index > len) || (params.index < 0)){
        return;
    }

    this.options.data.splice(params.index, 1);

    if (len === this.options.data.length) {
        return;
    }

    this.initSearch();
    this.initPagination();
    this.initBody(true);
};

그럼 네 안에var allowedMethods = [

더하다'removeRow'

마지막으로 사용할 수 있습니다.$("#your-table").bootstrapTable('removeRow',{index:1});

이 투고에 대한 크레딧

id는 현재 적절한 셀렉터가 아닙니다.행에 몇 가지 속성을 정의할 수 있습니다.셀렉터로 사용할 수 있습니다.

<tr category="petshop" type="fish"><td>little fish</td></tr>
<tr category="petshop" type="dog"><td>little dog</td></tr>
<tr category="toys" type="lego"><td>lego starwars</td></tr>

펑크를 사용하여 다음과 같은 행을 선택할 수 있습니다(ES6).

const rowRemover = (category,type)=>{
   $(`tr[category=${category}][type=${type}]`).remove();
}

rowRemover('petshop','fish');

테이블에서 행을 삭제하는 가장 쉬운 방법은 다음과 같습니다.

  1. 원하는 ID를 사용하여 테이블의 행을 삭제합니다.
  2. 해당 행의 순서/색인에 따라 삭제합니다.예: 세 번째 또는 다섯 번째 행을 제거합니다.

예를 들어 다음과 같습니다.

 <table id='myTable' border='1'>
    <tr id='tr1'><td>Row1</td></tr>
    <tr id='tr2'><td>Row2</td></tr>
    <tr id='tr3'><td>Row3</td></tr>
    <tr id='tr4'><td>Row4</td></tr>
    <tr id='tr5'><td>Row5</td></tr>
  </table>

//======REMOVE TABLE ROW=========
//1. remove spesific row using its ID
$('#tr1').remove();

//2. remove spesific row using its order or index.
//row index started from 0-n. Row1 index is 0, Row2 index is 1 and so on.
$('#myTable').find('tr:eq(2)').remove();//removing Row3

이것이 의심할 여지 없이 가장 쉬운 방법입니다.

$("#your_tbody_tag").empty();

언급URL : https://stackoverflow.com/questions/170997/what-is-the-best-way-to-remove-a-table-row-with-jquery

반응형