Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript DOM으로 테이블 행 삭제하기 – deleteRow() 메서드 완벽 가이드

JavaScript에서 HTML 테이블의 행을 삭제하려면 DOM의 deleteRow() 메서드를 사용하면 됩니다. 이 메서드는 테이블 객체에 직접 호출할 수 있으며, 삭제하고자 하는 행의 인덱스 번호를 인수로 전달합니다.

deleteRow() 메서드의 기본 문법

기본 사용법은 다음과 같습니다.

document.getElementById('테이블ID').deleteRow(인덱스);

여기서 인덱스는 0부터 시작합니다. 즉, deleteRow(0)을 호출하면 테이블의 첫 번째 행이 삭제됩니다. 만약 인덱스를 지정하지 않으면 -1이 기본값으로 설정되어 마지막 행이 삭제됩니다.

예제

아래 예제 코드를 실행하면 버튼 클릭 시 테이블의 행이 한 번에 하나씩 삭제되는 것을 확인할 수 있습니다.

<!DOCTYPE html>
<html>
   <head>
      <script>
      function captionFunc(x) {
         document.getElementById(x).createCaption().innerHTML = "Demo Caption";
      }
      </script>
   </head>
   <body>
      <table style="border:2px solid black" id="newtable">
         <tr>
            <td>One</td>
            <td>Two</td>
         </tr>
         <tr>
            <td>Three</td>
            <td>Four</td>
         </tr>
         <tr>
            <td>Five</td>
            <td>Six</td>
         </tr>
      </table>
      <p>
         <input type="button" onclick="captionFunc('newtable')" value="Display Table Caption">
      </p>
      <p>
         <input type="button" value="Delete Row" onclick="document.getElementById('newtable').deleteRow(0)">
      </p>
   </body>
</html>

코드 설명

위 코드의 핵심 부분은 다음과 같습니다.

  • 테이블에는 세 개의 행이 있으며, 각 행마다 두 개의 셀이 포함되어 있습니다.
  • Delete Row 버튼을 클릭하면 deleteRow(0)이 실행되어 항상 첫 번째 행이 삭제됩니다.
  • 버튼을 반복해서 누르면 두 번째, 세 번째 행이 순차적으로 첫 번째 행이 되며 차례대로 삭제됩니다.

참고 사항

행을 삭제하기 전에 테이블에 남아 있는 행의 개수를 확인하려면 rows.length 속성을 활용할 수 있습니다. 이를 통해 모든 행이 삭제된 후 발생할 수 있는 오류를 방지할 수 있습니다.

var table = document.getElementById("newtable");
if (table.rows.length > 0) {
   table.deleteRow(0);
}

이처럼 deleteRow() 메서드를 사용하면 별도의 라이브러리 없이도 순수 JavaScript만으로 테이블 행을 간편하게 제어할 수 있습니다.