templateタグ
templateは、HTMLのテンプレート領域を示すタグです。
解説
テンプレート領域に記述されたHTMLは画面には描画されません。
使い方としては、JavaScriptでテンプレート内のHTMLをインスタンス化して使用します。
コンテンツ・モデル
カテゴリー (自カテゴリ) | メタデータ・コンテンツ フロー・コンテンツ フレージング・コンテンツ |
コンテキスト (親カテゴリ) | メタデータ・コンテンツ、フレージング・コンテンツを許可する場所 |
コンテンツ・モデル (子カテゴリ) | メタデータ・コンテンツ フロー・コンテンツ |
属性
templateタグには以下の属性が指定できます。
属性 | 説明 |
---|---|
class | クラスを指定する (例)class="hoge" |
id | IDを指定する (例)id="foo" |
style | スタイルを指定する (例)style="color:red;" |
その他のグローバル属性値については、グローバル属性をご覧ください。
サンプル
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で追加されたタグです。