Znacznik HTML <szablon>


Przykład

Użyj <template>, aby przechowywać niektóre treści, które będą ukryte po załadowaniu strony. Użyj JavaScript, aby go wyświetlić:

<button onclick="showContent()">Show hidden content</button>

<template>
  <h2>Flower</h2>
  <img src="img_white_flower.jpg" width="214" height="204">
</template>

<script>
function showContent() {
  var temp = document.getElementsByTagName("template")[0];
  var clon = temp.content.cloneNode(true);
  document.body.appendChild(clon);
}
</script>

Więcej przykładów „Wypróbuj sam” poniżej.


Definicja i użycie

Tag <template>jest używany jako kontener do przechowywania niektórych treści HTML ukrytych przed użytkownikiem podczas wczytywania strony.

Zawartość wewnątrz <template>może być później wyrenderowana za pomocą JavaScript.

Możesz użyć <template>tagu, jeśli masz jakiś kod HTML, którego chcesz używać w kółko, ale dopiero wtedy, gdy o to poprosisz. Aby to zrobić bez<template> tagu, musisz utworzyć kod HTML za pomocą JavaScript, aby uniemożliwić przeglądarce renderowanie kodu.


Obsługa przeglądarki

Element
<template> 26.0 13.0 22.0 8.0 15.0

Atrybuty globalne

Znacznik <template>obsługuje atrybuty globalne w HTML .



Więcej przykładów

Przykład

Wypełnij stronę internetową jednym nowym elementem div dla każdego elementu w tablicy. Kod HTML każdego elementu div znajduje się wewnątrz elementu szablonu:

<template>
  <div class="myClass">I like: </div>
</template>

<script>
var myArr = ["Audi", "BMW", "Ford", "Honda", "Jaguar", "Nissan"];
function showContent() {
  var temp, item, a, i;
  temp = document.getElementsByTagName("template")[0];
  item = temp.content.querySelector("div");
  for (i = 0; i < myArr.length; i++) {
    a = document.importNode(item, true);
    a.textContent += myArr[i];
    document.body.appendChild(a);
  }
}
</script>

Przykład

Sprawdź obsługę przeglądarki dla <template>:

<script>
if (document.createElement("template").content) {
  document.write("Your browser supports template!");
} else {
  document.write("Your browser does not supports template!");
}
</script>