aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/html/element/template/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/de/web/html/element/template/index.html')
-rw-r--r--files/de/web/html/element/template/index.html186
1 files changed, 186 insertions, 0 deletions
diff --git a/files/de/web/html/element/template/index.html b/files/de/web/html/element/template/index.html
new file mode 100644
index 0000000000..8a6a29e26e
--- /dev/null
+++ b/files/de/web/html/element/template/index.html
@@ -0,0 +1,186 @@
+---
+title: <template>
+slug: Web/HTML/Element/template
+tags:
+ - Element
+ - HTML
+ - Referenz
+ - Web
+ - Web Components
+translation_of: Web/HTML/Element/template
+---
+<h2 id="Summary" name="Summary">Zusammenfassung</h2>
+
+<p><span class="seoSummary">Das <strong><a href="/en-US/docs/Web/HTML">HTML</a> template-Element <code>&lt;template&gt;</code></strong> dient dazu, Client-seitige Inhalte zu gruppieren, die nicht gerendert werden, wenn die Seite geladen wird, sondern anschließend zur Laufzeit mittels JavaScript gerendert werden können.</span></p>
+
+<p>Template kann als Inhaltsfragment aufgefasst werden, das für eine spätere Verwendung im Dokument gespeichert wird. Die Inhalte von <strong><code>&lt;template&gt;</code></strong> werden allerdings beim Laden der Seite geparst, um Ihre Validität sicher zu stellen.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row"><a href="/en-US/docs/Web/HTML/Content_categories" title="HTML/Content_categories">Inhaltskategorien</a></th>
+ <td><a href="/en-US/docs/Web/HTML/Content_categories#Metadata_content">Metadata content</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Flow_content">flow content</a>, <a href="/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content">phrasing content</a>, script-supporting element</td>
+ </tr>
+ <tr>
+ <th scope="row">Erlaubte Inhalte</th>
+ <td><a href="/en-US/docs/Web/HTML/Content_categories#Metadata_content">Metadata content</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Flow_content">flow content, </a>jeder gültige HTML Inhalt, der innerhalb der folgenden Elemente {{HTMLElement("ol")}}, {{HTMLElement("dl")}}, {{HTMLElement("figure")}}, {{HTMLElement("ruby")}}, {{HTMLElement("object")}}, {{HTMLElement("video")}}, {{HTMLElement("audio")}}, {{HTMLElement("table")}}, {{HTMLElement("colgroup")}}, {{HTMLElement("thead")}}, {{HTMLElement("tbody")}}, {{HTMLElement("tfoot")}}, {{HTMLElement("tr")}}, {{HTMLElement("fieldset")}}, {{HTMLElement("select")}}, {{HTMLElement("details")}} erlaubt ist und {{HTMLElement("menu")}}, dessen type-Attribut sich im Zustand popup menu befindet.</td>
+ </tr>
+ <tr>
+ <th scope="row">Tag omission</th>
+ <td>{{no_tag_omission}}</td>
+ </tr>
+ <tr>
+ <th scope="row">Permitted parent elements</th>
+ <td>{{HTMLElement("body")}}, {{HTMLElement("frameset")}}, {{HTMLElement("head")}} und {{HTMLElement("colgroup")}} ohne <code>span</code> Attribut</td>
+ </tr>
+ <tr>
+ <th scope="row">DOM interface</th>
+ <td>{{domxref("HTMLTemplateElement")}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Attributes" name="Attributes">Attribute</h2>
+
+<p>Das Element beinhaltet die <a href="/en-US/docs/Web/HTML/Global_attributes">global attributes</a>.</p>
+
+<p>Es gibt auch ein <code>content</code> Attribut, das nur read-only, also nur leseberechtigt ist. Dieses Attribut gewährt Zugriff auf die Inhalte von template. Das <code>content</code> Attribut wird oftmals genutzt, um den Browser-Support eines bestimmten Browsers für das <strong><code>&lt;template&gt;</code> </strong>Element festzustellen.</p>
+
+<h2 id="Examples" name="Examples">Beispiele</h2>
+
+<p>Im Folgenden zuerst der HTML Code des Beispiels:</p>
+
+<pre class="brush: html">&lt;table id="producttable"&gt;
+ &lt;thead&gt;
+ &lt;tr&gt;
+ &lt;td&gt;UPC_Code&lt;/td&gt;
+ &lt;td&gt;Product_Name&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;/thead&gt;
+ &lt;tbody&gt;
+ &lt;!-- existierende Daten könnten optional hier eingefügt werden --&gt;
+ &lt;/tbody&gt;
+&lt;/table&gt;
+
+&lt;template id="productrow"&gt;
+ &lt;tr&gt;
+ &lt;td class="record"&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;/td&gt;
+ &lt;/tr&gt;
+&lt;/template&gt;
+</pre>
+
+<p>Im Weiteren der JavaScript Code, mit dem der HTML Code instantiiert werden könnte:</p>
+
+<pre class="brush:js;">// Browsersupport-Check, indem die Existenz des content Attributs
+// des template Elements geprüft wird.
+if ('content' in document.createElement('template')) {
+
+ // Tabelle mit dem existierenden HTML tbody und der Zeile (row) aus dem template Element instantiieren
+ var t = document.querySelector('#productrow'),
+ td = t.content.querySelectorAll("td");
+ td[0].textContent = "1235646565";
+ td[1].textContent = "Stuff";
+
+ // Neue Zeile (row) klonen und in die Tabelle einfügen
+ var tb = document.getElementsByTagName("tbody");
+ var clone = document.importNode(t.content, true);
+ tb[0].appendChild(clone);
+
+ // Neue Zeile erstellen
+ td[0].textContent = "0384928528";
+ td[1].textContent = "Acme Kidney Beans";
+
+ // Neue Zeile klonen und in die Tabelle einfügen
+ var clone2 = document.importNode(t.content, true);
+ tb[0].appendChild(clone2);
+
+} else {
+ // Wenn das HTML template element nicht unterstützt wird
+ // muss die Tabelle auf anderem Weg erzeugt werden
+}
+</pre>
+
+<p>Das Ergebnis ist die ursprüngliche HTML Tabelle, an die zwei neue Zeilen mittels JavaScript angehängt wurde.</p>
+
+<p><a href="http://jsbin.com/qimaw/1/">Hier</a> kann das live-Beispiel aufgerufen werden (Code kann <a href="http://jsbin.com/qimaw/1/edit">hier</a> eingesehen werden).</p>
+
+<h2 id="Specifications" name="Specifications">Spezifikationen</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spezifikationen</th>
+ <th scope="col">Status</th>
+ <th scope="col">Kommentar</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML WHATWG','/scripting-1.html#the-template-element','template element')}}</td>
+ <td>{{Spec2('HTML WHATWG')}}</td>
+ <td>No change</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML5 W3C','/scripting-1.html#the-template-element','template element')}}</td>
+ <td>{{Spec2('HTML5 W3C')}}</td>
+ <td>Initial definition</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Browser Kompabilität</h2>
+
+<p>{{CompatibilityTable}}</p>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>26</td>
+ <td>{{CompatGeckoDesktop("22")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>15</td>
+ <td>7.1</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Phone</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>iOS 8</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Siehe auch</h2>
+
+<ul>
+ <li>Web components: {{HTMLElement("content")}}, {{HTMLElement("shadow")}}</li>
+</ul>
+
+<div>{{HTMLRef}}</div>