HTML5タグ虎の巻

templateタグ

HTML5

templateは、HTMLのテンプレート領域を示すタグです。

解説

テンプレート領域に記述されたHTMLは画面には描画されません。
使い方としては、JavaScriptでテンプレート内のHTMLをインスタンス化して使用します。

コンテンツ・モデル

カテゴリー
(自カテゴリ)
メタデータ・コンテンツ
フロー・コンテンツ
フレージング・コンテンツ
コンテキスト
(親カテゴリ)
メタデータ・コンテンツフレージング・コンテンツを許可する場所
コンテンツ・モデル
(子カテゴリ)
メタデータ・コンテンツ
フロー・コンテンツ

属性

templateタグには以下の属性が指定できます。

【主要グローバル属性】
属性説明
classクラスを指定する
(例)class="hoge"
idIDを指定する
(例)id="foo"
styleスタイルを指定する
(例)style="color:red;"
titleツールチップを指定する
(例)title="補足情報です"
tabindexTabキーによる移動の順番を指定する
 正数:指定した数値の順にフォーカス移動される
 負数:フォーカスは可能だが、タブ移動時はフォーカス対象とならない
(例)tabindex="10"

その他のグローバル属性値については、グローバル属性をご覧ください。

サンプル

templateを使ったサンプル

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>page</title>
<script>
function test(){
  var tmp = document.querySelector('#tmp01');
  tmp.content.querySelector('div').innerText = new Date();
  var obj = document.importNode(tmp.content, true);
  document.body.appendChild(obj);
}
</script>
</head>
<body>
<input type="button" value="ボタン" onclick="test();">
<template id="tmp01">
  <div style="border:1px solid blue;"></div>
</template>
</body>
</html>

ボタンを押す毎に、現在日時が追加表示されます。

備考

  • templateは、HTML5で追加されたタグです。