HTML <template> tagS2C Home   « HTML <template> tag

Definition

The <template> tag is used for declaring fragments of HTML that can be cloned and inserted into the HTML document by a script.

The content of the <template> element is hidden on page load and actioned via scripting.

The <template> tag was introduced in HTML5.

Example


<template id="pieTemplate">
<img src="https://server2client.com/images/chickenpiesmall.jpg"
     alt="Chicken Pie" width="200" height="200">
</template>
<button onclick="showFood()">Let there be pie!</button>
<script>
  function showFood() {
  var pieTemplate = document.getElementById('pieTemplate'),
      showExample = document.getElementById('showExample'),
      clonedTemplate = pieTemplate.content.cloneNode(true);
     showExample.appendChild(clonedTemplate);
  }
</script>

Required Attributes

NONE

Optional Attributes

NONE

Global Attributes

Common

class - specifies a classname for the element allowing you to apply the style of the predefined class to the content.


<template class="classname">Template content here</template>

id - specifies a unique id for the element allowing you to apply the style of the predefined id to the content.


<template id="idname">Template content here</template>

style - specifies an inline style for the element allowing you to apply the style to the content.


<template style="color:red;text-align:left">Template content here</template>

title - specifies extra information about the content.


<template title="information about the content">Template content here</template>

Language Attributes

dir - specifies the directional flow of the content.


<template dir="ltr">Template content here</template>   <!-- The text will flow from left to right -->
<template dir="rtl">Template content here</template>   <!-- The text will flow from right to left -->

lang - specifies a language code for the content of the element.


<template lang="en">Template content here</template>

spellcheck - specifies whether the element is to have its spelling checked.


<!-- Valid values are true and  false - default is inherited / browser specific. -->
<template spellcheck="true">Template content here</template>

translate - specifies whether the content of the element can be translated.


<!-- Valid values are yes and  no - default is yes. -->
<template translate="no">Template content here</template> 

Miscellaneous

contenteditable - specifies whether the content of the element is editable.


<!-- Valid values are true and  false - default is inherited. -->
<template contenteditable="false">Template content here</template> 

draggable - specifies whether the the element is draggable.

Only text selections, images, and links can be dragged.


<!-- Valid values are true and  false - default is browser specific. -->
<template draggable="true">Template content here</template>

hidden - specifies whether the element is not yet, or no longer, relevant.


<!-- Valid values are an empty string or hidden -->
<template hidden>Template content here</template> 
<template hidden="hidden">Template content here</template> 

Event Attributes

Document

onabort - The JavaScript code to be run on abort.


<template onabort="go()">Template content here</template>   <!-- Executes the go() function -->

onerror - The JavaScript code to be run when an error occurs when the file is being loaded.


<template onerror="go()">Template content here</template>   <!-- Executes the go() function -->

onload - The JavaScript code to be run when the document is loaded.


<template onload="go()">Template content here</template>   <!-- Executes the go() function -->

onresize - The JavaScript code to be run when the browser window is resized.


<template onresize="go()">Template content here</template>   <!-- Executes the go() function -->

onscroll - The JavaScript code to be run when the scrollbar of an element is being scrolled.


<template onscroll="go()">Template content here</template>   <!-- Executes the go() function -->

onunload - The JavaScript code to be run once a page has unloaded or the browser window has been closed.


<template onunload="go()">Template content here</template>   <!-- Executes the go() function -->

Document Element

oncopy - The JavaScript code to be run when the user copies the content of an element.


<template oncopy="go()">Template content here</template>   <!-- Executes the go() function -->

oncut - The JavaScript code to be run when the user cuts the content of an element.


<template oncut="go()">Template content here</template>   <!-- Executes the go() function -->

onpaste - The JavaScript code to be run when the user pastes some content into an element.


<template onpaste="go()">Template content here</template>   <!-- Executes the go() function -->

Drag and Drop

ondrag - The JavaScript code to be run when an element is dragged.


<template ondrag="go()">Template content here</template>   <!-- Executes the go() function -->

ondragend - The JavaScript code to be run when an element has stopped being dragged.


<template ondragend="go()">Template content here</template>   <!-- Executes the go() function -->

ondragenter - The JavaScript code to be run when an element has been dragged to a valid drop target.


<template ondragenter="go()">Template content here</template>   <!-- Executes the go() function -->

ondragleave - The JavaScript code to be run when an element leaves a valid drop target.


<template ondragleave="go()">Template content here</template>   <!-- Executes the go() function -->

ondragover - The JavaScript code to be run when an element is being dragged over a valid drop target.


<template ondragover="go()">Template content here</template>   <!-- Executes the go() function -->

ondragstart - The JavaScript code to be run at the start of a drag operation.


<template ondragstart="go()">Template content here</template>   <!-- Executes the go() function -->

ondrop - The JavaScript code to be run when dragged element is being dropped.


<template ondrop="go()">Template content here</template>   <!-- Executes the go() function -->

Form

onblur - The JavaScript code to be run on abort.


<template onblur="go()">Template content here</template>   <!-- Executes the go() function -->

onchange - The JavaScript code to be run when object changed and attempt to leave field.


<template onchange="go()">Template content here</template>   <!-- Executes the go() function -->

oncontextmenu - The JavaScript code to be run when a context menu is triggered.


<template oncontextmenu="go()">Template content here</template>   <!-- Executes the go() function -->

onfocus - The JavaScript code to be run when the element gets focus.


<template onfocus="go()">Template content here</template>   <!-- Executes the go() function -->

oninput - The JavaScript code to be run when an element gets user input.


<template oninput="go()">Template content here</template>   <!-- Executes the go() function -->

oninvalid - The JavaScript code to be run when an element is invalid.


<template oninvalid="go()">Template content here</template>   <!-- Executes the go() function -->

onreset - The JavaScript code to be run when the reset button of a form is clicked.


<template onreset="go()">Template content here</template>   <!-- Executes the go() function -->

onselect - The JavaScript code to be run when some or all of the contents of an object are selected.


<template onselect="go()">Template content here</template>   <!-- Executes the go() function -->

onsubmit - The JavaScript code to be run when a form is submitted.


<template onsubmit="go()">Template content here</template>   <!-- Executes the go() function -->

Keyboard

onkeydown - The JavaScript code to be run when an element is in focus and keyboard key is pressed.


<template onkeydown="go()">Template content here</template>   <!-- Executes the go() function -->

onkeypress - The JavaScript code to be run when an element is in focus and keyboard key is pressed down and released.


<template onkeypress="go()">Template content here</template>   <!-- Executes the go() function -->

onkeyup - The JavaScript code to be run when an element is in focus and keyboard key is released.


<template onkeyup="go()">Template content here</template>   <!-- Executes the go() function -->

Media

oncanplay - The JavaScript code to be run when a file has buffered enough so it is ready to start playing.


<template oncanplay="go()">Template content here</template>   <!-- Executes the go() function -->

oncanplaythrough - The JavaScript code to be run when a file can be played all the way to the end without further need of buffering.


<template oncanplaythrough="go()">Template content here</template>   <!-- Executes the go() function -->

oncuechange - The JavaScript code to be run when the cue changes when using the track element.


<template oncuechange="go()">Template content here</template>   <!-- Executes the go() function -->

ondurationchange - The JavaScript code to be run when the length of the media is changed.


<template ondurationchange="go()">Template content here</template>   <!-- Executes the go() function -->

onemptied - The JavaScript code to be run when a media resource element suddenly becomes empty, usually due to an error.


<template onemptied="go()">Template content here</template>   <!-- Executes the go() function -->

onended - The JavaScript code to be run when the media has reach the end.


<template onended="go()">Template content here</template>   <!-- Executes the go() function -->

onloadeddata - The JavaScript code to be run when media data is loaded and playback can start.


<template onloadeddata="go()">Template content here</template>   <!-- Executes the go() function -->

onloadedmetadata - The JavaScript code to be run when metadata has been loaded.


<template onloadedmetadata="go()">Template content here</template>   <!-- Executes the go() function -->

onloadstart - The JavaScript code to be run when the media resource has started loading.


<template onloadstart="go()">Template content here</template>   <!-- Executes the go() function -->

onpause - The JavaScript code to be run when the media resource has been paused.


<template onpause="go()">Template content here</template>   <!-- Executes the go() function -->

onplay - The JavaScript code to be run when the media resource starts playback.


<template onplay="go()">Template content here</template>   <!-- Executes the go() function -->

onplaying - The JavaScript code to be run when playback has already begun.


<template onplaying="go()">Template content here</template>   <!-- Executes the go() function -->

onprogress - The JavaScript code to be run when the browser is fetching the media data.


<template onprogress="go()">Template content here</template>   <!-- Executes the go() function -->

onratechange - The JavaScript code to be run when the playback rate changes.


<template onratechange="go()">Template content here</template>   <!-- Executes the go() function -->

onseeked - The JavaScript code to be run when the seeking attribute is set to false indicating that seeking has finished.


<template onseeked="go()">Template content here</template>   <!-- Executes the go() function -->

onseeking - The JavaScript code to be run hen the seeking attribute is set to true indicating that seeking is currently active.


<template onseeking="go()">Template content here</template>   <!-- Executes the go() function -->

onstalled - The JavaScript code to be run when the browser is unable to continue fetching media data.


<template onstalled="go()">Template content here</template>   <!-- Executes the go() function -->

onsuspend - The JavaScript code to be run when media data has stopped before being completely loaded.


<template onsuspend="go()">Template content here</template>   <!-- Executes the go() function -->

ontimeupdate - The JavaScript code to be run when the media resources current playback position has changed.


<template ontimeupdate="go()">Template content here</template>   <!-- Executes the go() function -->

onvolumechange - The JavaScript code to be run when the volume has changed or been muted.


<template onvolumechange="go()">Template content here</template>   <!-- Executes the go() function -->

onwaiting - The JavaScript code to be run when the media resource has paused but is expected to resume.


<template onwaiting="go()">Template content here</template>   <!-- Executes the go() function -->

Mouse

onclick - The JavaScript code to be run when a mouse is clicked on the element.


<template onclick="go()">Template content here</template>   <!-- Executes the go() function --> 

ondblclick - The JavaScript code to be run when a mouse is double clicked on the element.


<template ondblclick="go()">Template content here</template>   <!-- Executes the go() function -->

onmousedown - The JavaScript code to be run when the mouse button is pressed down while the cursor is over the element.


<template onmousedown="go()">Template content here</template>   <!-- Executes the go() function -->

onmousemove - The JavaScript code to be run when the mouse button is moved.


<template onmousemove="go()">Template content here</template>   <!-- Executes the go() function -->

onmouseout - The JavaScript code to be run when the mouse cursor moves off an element.


<template onmouseout="go()">Template content here</template>   <!-- Executes the go() function -->

onmouseover - The JavaScript code to be run when the mouse cursor moves over an element.


<template onmouseover="go()">Template content here</template>   <!-- Executes the go() function -->

onmouseup - The JavaScript code to be run when the mouse button is released while the cursor is over the element.


<template onmouseup="go()">Template content here</template>   <!-- Executes the go() function -->

onwheel - The JavaScript code to be run when the mouse wheel rolls up or down over an element.


<template onwheel="go()">Template content here</template>   <!-- Executes the go() function -->

Window

NONE

go to home page Homepage go to top of page Top