1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
---
title: Document.createElementNS()
slug: Web/API/Document/createElementNS
translation_of: Web/API/Document/createElementNS
---
<div>{{ApiRef("DOM")}}</div>
<div>Erzeugt ein Element mit der angegebenen Namespace-URL und einem Namen.</div>
<div> </div>
<div>Um ein Element zu definieren, ohne eine Namespace-URL anzugeben, verwenden Sie die Methode <a href="createElement" title="createElement">createElement</a>.</div>
<h2 id="Syntax" name="Syntax">Syntax</h2>
<pre class="brush: js"><var>var element</var> = <var>document</var>.createElementNS(<var>namespaceURI</var>, <var>qualifiedName</var>[, options]);
</pre>
<h3 id="Parameter">Parameter</h3>
<dl>
<dt><code>namespaceURI</code></dt>
<dd>Ein String, der die mit dem Element verknüpfte <a class="external" href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/glossary.html#dt-namespaceURI">Namespace-URL</a> angibt. Die Eigenschaft <a href="/en-US/docs/DOM/element.namespaceURI">namespaceURI</a> des neu erstellten Elements wird mit dem Wert von <code>namespaceURI</code> initialisiert (siehe <a href="#Valid Namespace URIs">Gültige Namespace-URLs</a>).</dd>
<dt><code>qualifiedName</code></dt>
<dd>Ein String, der den Namen des Elements angibt. Die Eigenschaft <a href="/en-US/docs/DOM/element.nodeName">nodeName</a> des neu erstellten Elements wird mit dem Wert von <code>qualifiedName</code> initialisiert.</dd>
<dt><code>options</code><span class="inlineIndicator optional optionalInline">Optional</span></dt>
<dd>Das optionale Objekt <code>ElementCreationOptions</code> enthält eine einzelne Eigenschaft mit Namen <code>is</code>, dessen Wert der Tag-Name eines zuvor mit <code>customElements.define()</code> definierten angepassten Elements ist. Aus Gründen der Abwärtskompatibilität erlauben einige Browser hier auch die Übergabe eines Strings mit dem Taf-Namen (s. <a class="external external-icon" href="https://www.w3.org/TR/custom-elements/">Custom Elements specification</a>). Siehe <a class="external external-icon" href="https://developers.google.com/web/fundamentals/primers/customelements/#extendhtml">Extending native HTML elements</a> für weitere Informationen zur Verwendung dieses Parameters.</dd>
<dd>Das neue Element erhält ein Attribut mit Namen <code>is</code> dessen Wert den Tag-Namen des Elements enthält. Angepasste Elemente sind ein experimentelles Feature, das nich in allen Browsern verfügbar ist.</dd>
</dl>
<h3 id="Rückgabewert">Rückgabewert</h3>
<p>Das neu erstelle <a href="https://developer.mozilla.org/en-US/docs/Web/API/Element" title="The Element interface represents an object of a Document. This interface describes methods and properties common to all kinds of elements. Specific behaviors are described in interfaces which inherit from Element but add additional functionality."><code>Element</code></a>.</p>
<h2 id="Example" name="Example"><a id="Valid Namespace URIs" name="Valid Namespace URIs">Gültige Namespace-URLs</a></h2>
<ul>
<li>HTML - <code>http://www.w3.org/1999/xhtml</code></li>
<li>SVG - <code>http://www.w3.org/2000/svg</code></li>
<li>XBL - <code>http://www.mozilla.org/xbl</code></li>
<li>XUL - <code>http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</code></li>
</ul>
<h2 id="Example" name="Example">Beispiel</h2>
<p>Dies erstellt ein neues Element vom Typ <div> im <a href="/en-US/docs/XHTML" title="XHTML">XHTML</a>-Namespace und fügt es dem vbox-Element hinzu. Obwohl dies kein besonders sinnvolles <a href="/en-US/docs/XUL" title="XUL">XUL</a>-Document ist, demonstriert es die Verwendung von Elementen verschiedener Namespaces innerhalb eines Dokuments:</p>
<pre class="brush:xml"><?xml version="1.0"?>
<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
title="||Working with elements||"
onload="init()">
<script type="text/javascript"><![CDATA[
var container;
var newdiv;
var txtnode;
function init(){
container = document.getElementById("ContainerBox");
newdiv = document.createElementNS("http://www.w3.org/1999/xhtml","div");
txtnode = document.createTextNode("This is text that was constructed dynamically with createElementNS and createTextNode then inserted into the document using appendChild.");
newdiv.appendChild(txtnode);
container.appendChild(newdiv);
}
]]></script>
<vbox id='ContainerBox' flex='1'>
<html:div>
The script on this page will add dynamic content below:
</html:div>
</vbox>
</page>
</pre>
<div class="note">
<p>Das obige Beispiel verwendet ein Inline-Skript, was für XHTML-Dokumente nicht empfohlen wird. Dieses Beispiel ist eigentlich ein XUL-Dokument mit eingebettetem XHTML. Nichts desto trotz bleibt die Empfehlung bestehen.</p>
</div>
<h2 id="Spezifikationen">Spezifikationen</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Spezigikation</th>
<th scope="col">Status</th>
<th scope="col">Kpmmentar</th>
</tr>
<tr>
<td>{{SpecName('DOM WHATWG', "#dom-document-createelementns", "Document.createElement")}}</td>
<td>{{Spec2('DOM WHATWG')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Browser-Kompatibilität">Browser-Kompatibilität</h2>
<p>{{CompatibilityTable}}</p>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Chrome</th>
<th>Edge</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari (WebKit)</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
</tr>
<tr>
<td><code>options</code> argument</td>
<td>{{CompatVersionUnknown}}<sup>[1]</sup></td>
<td>{{CompatNo}}</td>
<td>{{CompatGeckoDesktop(50)}}<sup>[2][3]</sup></td>
<td>{{CompatUnknown}}</td>
<td>{{CompatUnknown}}</td>
<td>{{CompatUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Android</th>
<th>Edge</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>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<p>[1] In vorangegangenen Versionen dieser Spezifikation war dieses Argument ein einfacher String, dessen Wert der Tag-Name eines angepassten Elements ist. Aus Gründen der Abwärtskompatibilität akzeptiert Chrome hier beide Formate</p>
<p>[2] Siehe [1] oben: Wie Chrome, akzeptiert hier auch Firefox einen String anstelle eines Objekts. Allerdings erst ab Version 51 aufwärts. In Version 50 muss <code>options</code> ein Objekt sein.</p>
<p>[3] Um in Firefox mit angepassten Elementen zu experimentieren müssen die Einstellungen <code>dom.webcomponents.enabled</code> und <code>dom.webcomponents.customelements.enabled</code> auf <code>true</code> gesetzt werden.</p>
<h2 id="See_also" name="See_also">Siehe auch</h2>
<ul>
<li><a href="createElement">document.createElement</a></li>
<li><a href="createTextNode">document.createTextNode</a></li>
<li><a href="../Node/namespaceURI">Node.namespaceURI</a></li>
<li><a class="external" href="http://www.w3.org/TR/1999/REC-xml-names-19990114">Namespaces in XML</a></li>
</ul>
|