<template>
Элемент <template>
представляет собой механизм для хранения содержимого на стороне клиента, которое не отображается в процессе загрузки страницы, но впоследствии может быть заполнено с помощью JavaScript.
Содержимое <template>
— это шаблон для фрагмента HTML, который может быть клонирован и вставлен в документ через скрипты. Обычно применяется для элементов с повторяющейся структурой, вроде списков, таблиц, списков <select>
и др
Внутри <template>
располагаются пустые элементы, образующие требуемый шаблон. Повторение этих элементов и их заполнение содержимым берут на себя скрипты.
Закрывающийся тег:
Обязателен
Поддержка:
HTML5
Атрибуты:
Для этого элемента доступны универсальные атрибуты и события.
Пример:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>template</title> <style> table { width = 100%; border-collapse: collapse; } td, th { padding: 5px; border: 2px solid #89ace0; } </style> </head> <body> <table> <thead> <tr> <th > ЛР№ </th> <th> название лабораторной работы</th> </tr> </thead> <tbody> <template id="row"> <tr><td align="center"><td> </template> </tbody> </table> <script> var arr = [ { num: 1, name: 'Основы языка PHP'}, { num: 2, name: 'Работа с массивами'}, { num: 3, name: 'Передача параметров'}, { num: 4, name: 'Работа с файлами'}, { num: 5, name: 'Графика'}, { num: 6, name: 'Регулярные выражения'}, { num: 7, name: 'Работа с базой данных'}, { num: 8, name: 'Работа с Cookies и Session'}, { num: 9, name: 'Выполнение JavaScript в браузере клиента'}, { num: 10, name: 'Использование популярных JavaScript Библиотек'} ]; var template = document.querySelector('#row'); for (var i = 0; i < arr.length; i++) { var data = arr[i]; var clone = template.content.cloneNode(true); var cells = clone.querySelectorAll('td'); cells[0].textContent = data.num; cells[1].textContent = data.name; template.parentNode.appendChild(clone); } </script> </body> </html>