★HTML Living Standard リファレンス

私たちはカジノサイトを独自にレビューしています。当社のリンクを通じてサインアップすると、追加料金なしで当社に手数料が発生する場合があります。

<template> …… テンプレートを表す
Internet Explorer
Microsoft Edge
Google Chrome
Safari
Firefox
Opera
広告



<template>タグは、テンプレートを表す際に使用します。

template要素は、スクリプトで作成しデータをドキュメントに挿入するためのテンプレートを宣言します。
ここでいうテンプレートとはHTMLコードの断片のことです。

template要素の内側に記述されるマークアップは、template要素の子要素ではありません。
それは、あくまでもテンプレートとして宣言されたHTMLコードの断片に過ぎません。

template要素自体は、レンダリングでは何も表しません。

■属性

shadowrootmode属性
ストリーミングを有効にするかどうかを指定します。
shadowrootmode属性の値には、以下のキーワードを指定できます。
初期値はnone状態です。

  • open …… template要素は、オープン型シャドウルートを表します。
  • closed …… template要素は、クローズ型シャドウルートを表します。
shadowrootdelegatesfocus属性
シャドウルートにデリゲートフォーカスをセットします。初期値はfalseです。
shadowrootclonable属性
シャドウルートをクローン可にします。初期値はfalseです。

■使用例

以下のサンプルは、template要素を使用して「 <p>Smile!</p> 」というテンプレートを宣言しています。
template要素内のp要素は、DOMにおけるtemplate要素の子要素ではなく、あくまでも宣言されたテンプレートに過ぎません。

HTMLソース

<!doctype html>
<html lang="en">
 <head>
  <title>Homework</title>
 <body>
  <template id="template"><p>Smile!</p></template>
  <script>
   let num = 3;
   const fragment = document.getElementById('template').content.cloneNode(true);
   while (num-- > 1) {
     fragment.firstChild.before(fragment.firstChild.cloneNode(true));
     fragment.firstChild.textContent += fragment.lastChild.textContent;
   }
   document.body.appendChild(fragment);
  </script>
</html>

↓↓↓

ブラウザ上の表示

別画面で開く

■使用例

以下のサンプルは、template要素でテンプレートを用意して、
そこへスクリプトのfor文によるループ処理でデータを流し込んでいます。

HTMLソース

<!DOCTYPE html>
<html lang="ja">
<meta charset="UTF-8">
<title>猫のデータ</title>

<script>
 var data = [
   { name: 'モモ', color: 'ハチワレ', sex: 'メス' },
   { name: 'おはぎ', color: 'キジトラ', sex: 'オス' },
 ];
</script>

<table>
 <thead>
  <tr>
   <th>名前 <th>毛色 <th>性別
 <tbody>
  <template id="row">
   <tr><td><td><td><td>
  </template>
</table>

<script>
 var template = document.querySelector('#row');
 for (var i = 0; i < data.length; i += 1) {
   var cat = data[i];
   var clone = template.content.cloneNode(true);
   var cells = clone.querySelectorAll('td');
   cells[0].textContent = cat.name;
   cells[1].textContent = cat.color;
   cells[2].textContent = cat.sex;
   template.parentNode.appendChild(clone);
 }
</script>

</html>

↓↓↓

ブラウザ上の表示

別画面で開く

■関連項目

  • <script> …… スクリプトを表す
  • <noscript> …… スクリプトが無効な環境向けの内容を表す
  • <template> …… テンプレートを表す
  • <slot> …… データの差し込みスロットを表す
広告



山田 太郎
テック・リード
山田太郎は、ウェブ開発やグラフィックスプログラミングに10年以上の経験を持つテクノロジーの専門家です。特にHTML5 CanvasやJavaScript、インタラクティブメディアに精通しており、動的なユーザーインターフェースや最先端のウェブアプリケーションの開発に携わってきました。複雑な図形描画や画像操作、リアルタイムグラフィックスに関する知識が豊富で、ウェブ技術の限界を追求する開発者たちにとって頼りになる存在です。知識の共有に情熱を持ち、初心者からプロフェッショナルまで幅広く支援するため、技術フォーラムやブログにも積極的に貢献しています。

ギャンブルガイド もっと見る

カジノファインダー

どのカジノが自分に最適か分からないですか?

サインアップは必要なく、1 分以内に最適なブックメーカーを簡単に見つけることができます。
カジノを探す
Back
質問
Select one of the following options
{"is_any_tile":true}

どのカジノが自分に最適か分からないですか?

Back
Restart
やったー!
これはあなたの選択に基づいた最高のカジノです...
65 users signed up
もっと表示する