# HTMLTableElement.createCaption()

The `HTMLTableElement.createCaption()` method returns the `<caption>` element associated with a given `<table>`. If no `<caption>` element exists on the table, this method creates it, and then returns it.

Note: If no caption exists, `createCaption()` inserts a new caption directly into the table. The caption does not need to be added separately as would be the case if `Document.createElement()` had been used to create the new `<caption>` element.

## Syntax

``HTMLTableElement = table.createCaption();``

### Return value

`HTMLTableCaptionElement`

## Example

This example uses JavaScript to add a caption to a table that initially lacks one.

### HTML

``````<table>
<tr><td>Cell 1.1</td><td>Cell 1.2</td><td>Cell 1.3</td></tr>
<tr><td>Cell 2.1</td><td>Cell 2.2</td><td>Cell 2.3</td></tr>
</table>``````

### JavaScript

``````let table = document.querySelector('table');
let caption = table.createCaption();
caption.textContent = 'This caption was created by JavaScript!';``````

## Specifications

Specification Status Comment
HTML Living Standard
The definition of 'HTMLTableElement: createCaption' in that specification.
Living Standard

## Browser compatibility

BCD tables only load in the browser