diff options
Diffstat (limited to 'files/de/web/html/element/template/index.html')
-rw-r--r-- | files/de/web/html/element/template/index.html | 186 |
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><template></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><template></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><template></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"><table id="producttable"> + <thead> + <tr> + <td>UPC_Code</td> + <td>Product_Name</td> + </tr> + </thead> + <tbody> + <!-- existierende Daten könnten optional hier eingefügt werden --> + </tbody> +</table> + +<template id="productrow"> + <tr> + <td class="record"></td> + <td></td> + </tr> +</template> +</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> |