The HTMLTableElement.createTHead() method returns the <thead> element associated with a given <table>. If no header exists in the table, this method creates it, and then returns it.

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


HTMLTableSectionElement = table.createTHead();

Return value



let myhead = mytable.createTHead();
// Now this should be true: myhead == mytable.tHead


Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android ? Edge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?


Full support  
Full support
Compatibility unknown  
Compatibility unknown

Document Tags and Contributors

Contributors to this page: mfluehr, fscholz, Akiq2016, teoli, kscarfone, Sheppy, ethertank, RobG, Dria, JesseW
Last updated by: mfluehr,