HTML DOM의 TableData colSpan 속성은 HTML 문서 내 테이블 셀(td 요소)의 colspan 속성 값을 가져오거나 수정할 때 사용됩니다. 이 속성을 활용하면 자바스크립트만으로 특정 셀이 여러 열에 걸쳐 표시되도록 동적으로 변경할 수 있습니다.
문법(Syntax)
colSpan 속성의 기본 문법은 다음과 같습니다.
1. colSpan 값 가져오기
object.colSpan
2. colSpan 값 설정하기
object.colSpan = "number"
여기서 number는 해당 셀이 차지할 열(column)의 개수를 의미합니다.
예제(Example)
아래 예제는 버튼을 클릭하면 테이블 푸터(tfoot) 셀이 두 개의 열에 걸쳐 표시되도록 colSpan 속성을 설정하는 코드입니다.
<!DOCTYPE html>
<html>
<style>
body {
color: #000;
background: lightblue;
height: 100vh;
text-align: center;
}
table {
margin: 2rem auto;
width: 400px;
}
.btn {
background: #db133a;
border: none;
height: 2rem;
border-radius: 2px;
width: 40%;
display: block;
color: #fff;
outline: none;
cursor: pointer;
margin: 1rem auto;
}
</style>
<body>
<h1>DOM TableData colSpan Property Demo</h1>
<table border="2">
<thead>
<tr>
<th>Name</th>
<th>Roll No.</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>071717</td>
</tr>
<tr>
<td>Jane</td>
<td>031717</td>
</tr>
</tbody>
<tfoot>
<tr>
<td id="span-row">Table Footer</td>
</tr>
</tfoot>
</table>
<button onclick="get()" class="btn">Span Footer</button>
<script>
function get() {
document.querySelector('#span-row').colSpan = "2";
}
</script>
</body>
</html>실행 결과(Output)
위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

이 상태에서 “Span Footer” 버튼을 클릭해 보세요. 그러면 자바스크립트가 tfoot 영역의 셀에 대해 colSpan 값을 "2"로 설정하여, 테이블 푸터가 두 개의 열 전체에 걸쳐 표시되는 것을 확인할 수 있습니다.

정리
colSpan 속성은 테이블 레이아웃을 동적으로 제어해야 하는 경우 매우 유용합니다. 예를 들어, 사용자 입력에 따라 보고서 테이블의 요약 행이 전체 열을 차지하도록 만들거나, 반응형 테이블에서 셀 병합 구조를 변경할 때 활용할 수 있습니다. 참고로 행 방향 병합이 필요하다면 같은 방식으로 rowSpan 속성을 사용하면 됩니다.