HTML <template> 标签

实例

使用 <template> 保留页面加载时隐藏的内容。使用 JavaScript 来显示:

  1. <button onclick="showContent()">显示被隐藏的内容</button>
  2. <template>
  3. <h2>Flower</h2>
  4. <img src="img_white_flower.jpg" width="214" height="204">
  5. </template>
  6. <script>
  7. function showContent() {
  8. var temp = document.getElementsByTagName("template")[0];
  9. var clon = temp.content.cloneNode(true);
  10. document.body.appendChild(clon);
  11. }
  12. </script>

页面下方有更多 TIY 实例。

定义和用法

<template> 标记用作容纳页面加载时对用户隐藏的 HTML 内容的容器。

<template> 中的内容可以稍后使用 JavaScript 呈现。

如果您有一些需要重复使用的 HTML 代码,则可以使用 <template> 标记。如果在没有 <template> 标记的情况下执行此操作,必须使用 JavaScript 创建 HTML 代码,以防止浏览器呈现这些代码。

浏览器支持

元素 Chrome Internet Explorer / Edge Firefox Safari Opera
<template> 26.0 13.0 22.0 8.0 15.0

全局属性

<template> 标签支持 HTML 中的全局属性

更多实例

实例

对数组中的每个项,都使用一个新的 div 元素来填充网页。每个 div 元素的 HTML 代码都在 template 元素内:

  1. <template>
  2. <div class="myClass">我喜欢:</div>
  3. </template>
  4. <script>
  5. var myArr = ["Audi", "BMW", "Ford", "Honda", "Jaguar", "Nissan"];
  6. function showContent() {
  7. var temp, item, a, i;
  8. temp = document.getElementsByTagName("template")[0];
  9. item = temp.content.querySelector("div");
  10. for (i = 0; i < myArr.length; i++) {
  11. a = document.importNode(item, true);
  12. a.textContent += myArr[i];
  13. document.body.appendChild(a);
  14. }
  15. }
  16. </script>

实例

检查 <template> 的浏览器支持:

  1. <script>
  2. if (document.createElement("template").content) {
  3. document.write("Your browser supports template!");
  4. } else {
  5. document.write("您的浏览器不支持 template!");
  6. }
  7. </script>