HTML DOM의 table createCaption() 메서드는 비어 있는 <caption> 요소를 새로 생성한 뒤, HTML 문서 내 테이블에 추가하는 기능을 합니다. 이 메서드를 활용하면 자바스크립트만으로 테이블에 제목(캡션)을 동적으로 삽입할 수 있습니다.
구문(Syntax)
createCaption() 메서드의 기본 사용법은 다음과 같습니다.
object.createCaption()
이 메서드는 별도의 매개변수 없이 호출되며, 반환값으로 새로 생성된 <caption> 요소 객체를 돌려줍니다. 따라서 반환된 객체에 innerHTML 등을 사용해 원하는 캡션 텍스트를 지정할 수 있습니다.
예제(Example)
아래 예제는 버튼을 클릭하면 테이블에 캡션이 자동으로 생성되고, "Student Data"라는 텍스트가 캡션에 입력되는 코드입니다.
<!DOCTYPE html>
<html>
<style>
body {
color: #000;
background: lightblue;
height: 100vh;
text-align: center;
}
table {
margin: 2rem auto;
}
caption {
color: #db133a;
}
.btn {
background: #db133a;
border: none;
height: 2rem;
border-radius: 2px;
width: 40%;
display: block;
color: #fff;
outline: none;
cursor: pointer;
margin: 1rem auto;
}
.show {
font-size: 1.2rem;
}
</style>
<body>
<h1>DOM Table createCaption() Method Demo</h1>
<table border="2">
<tr>
<td>Name</td>
<td>Roll No.</td>
</tr>
<tr>
<td>John</td>
<td>071717</td>
</tr>
<tr>
<td>Jane</td>
<td>031717</td>
</tr>
</table>
<button onclick="create()" class="btn">Create Caption</button>
<script>
function create() {
var tableCaption = document.querySelector('table').createCaption();
tableCaption.innerHTML = "Student Data";
}
</script>
</body>
</html>코드 설명
document.querySelector('table'): 문서에서 첫 번째 테이블 요소를 선택합니다.createCaption(): 선택한 테이블에 새로운 <caption> 요소를 생성하여 추가합니다.tableCaption.innerHTML = "Student Data": 생성된 캡션 요소에 텍스트를 삽입합니다.
실행 결과(Output)
페이지를 처음 열면 아래와 같이 캡션이 없는 상태의 테이블이 화면에 표시됩니다.

여기서 "Create Caption" 버튼을 클릭하면, 자바스크립트 함수가 실행되어 테이블 상단에 캡션이 생성됩니다.

버튼 클릭 후에는 테이블 위쪽에 붉은색 텍스트로 "Student Data"라는 캡션이 나타나는 것을 확인할 수 있습니다. 만약 테이블에 이미 캡션이 존재한다면, createCaption() 메서드는 새로운 캡션을 만들지 않고 기존 캡션을 그대로 반환합니다.