[javascript] 자바스크립트로 TableSorter 구현하기
웹 페이지에서 테이블을 효과적으로 정렬할 수 있게 하는 TableSorter를 자바스크립트로 구현할 수 있습니다. 이 글에서는 자바스크립트를 사용하여 간단한 TableSorter를 만드는 방법을 살펴보겠습니다.
준비물
테이블을 정렬하기 위해 먼저 HTML 문서에 테이블을 생성해야 합니다. 테이블은 각 헤더열(칼럼)을 클릭하여 정렬할 수 있도록 되어야 합니다.
<table id="myTable">
<thead>
<tr>
<th onclick="sortTable(0)">Name</th>
<th onclick="sortTable(1)">Age</th>
<th onclick="sortTable(2)">Country</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>25</td>
<td>USA</td>
</tr>
<tr>
<td>Peter</td>
<td>30</td>
<td>UK</td>
</tr>
<tr>
<td>Anne</td>
<td>20</td>
<td>Canada</td>
</tr>
</tbody>
</table>
자바스크립트로 TableSorter 만들기
이제 자바스크립트를 사용하여 TableSorter를 만들어보겠습니다. 아래는 간단한 TableSorter 함수입니다.
function sortTable(columnIndex) {
var table, rows, switching, i, x, y, shouldSwitch;
table = document.getElementById("myTable");
switching = true;
while (switching) {
switching = false;
rows = table.rows;
for (i = 1; i < (rows.length - 1); i++) {
shouldSwitch = false;
x = rows[i].getElementsByTagName("td")[columnIndex];
y = rows[i + 1].getElementsByTagName("td")[columnIndex];
if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
shouldSwitch = true;
break;
}
}
if (shouldSwitch) {
rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
switching = true;
}
}
}
이 함수는 클릭된 헤더열(칼럼)에 따라 테이블의 행을 정렬합니다. 텍스트로 된 내용을 기준으로 정렬하기 때문에 숫자나 문자열 모두에 적용할 수 있습니다.
마치며
위의 자바스크립트 함수를 사용하면 간단히 TableSorter를 구현할 수 있습니다. 테이블이나 테이블의 특정 부분에 대해 원하는대로 커스터마이징하여 효율적으로 정렬할 수 있습니다.
이러한 자바스크립트를 기반으로 한 TableSorter를 사용하여 웹 애플리케이션에서 테이블을 직관적이고 효과적으로 정렬하는 기능을 제공할 수 있습니다.
참고 자료: MDN Web Docs - Manipulating documents