Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Dokument: createElement()-Methode

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

* Some parts of this feature may have varying levels of support.

In einem HTML Dokument erstellt die Methode document.createElement() das HTML-Element, das durch localName angegeben wird, oder ein HTMLUnknownElement, wenn localName nicht erkannt wird.

Syntax

js
createElement(localName)
createElement(localName, options)

Parameter

localName

Ein String, der den Typ des zu erstellenden Elements angibt. Verwenden Sie mit dieser Methode keine qualifizierten Namen (wie "html:a"). Wenn sie auf ein HTML-Dokument angewendet wird, konvertiert createElement() localName in Kleinbuchstaben, bevor das Element erstellt wird. In Firefox, Opera und Chrome funktioniert createElement(null) wie createElement("null").

options Optional

Ein Objekt mit den folgenden Eigenschaften:

is

Der Tag-Name eines benutzerdefinierten Elements, das zuvor über customElements.define() definiert wurde. Siehe Web Component Beispiel für weitere Details.

Rückgabewert

Das neue Element.

Hinweis: Es wird ein neues HTMLElement zurückgegeben, wenn das Dokument ein HTMLDocument ist, was der häufigste Fall ist. Andernfalls wird ein neues Element zurückgegeben.

Beispiele

Einfaches Beispiel

Dies erstellt ein neues <div> und fügt es vor dem Element mit der ID div1 ein.

HTML

html
<!doctype html>
<html lang="en-US">
  <head>
    <meta charset="UTF-8" />
    <title>Working with elements</title>
  </head>
  <body>
    <div id="div1">The text above has been created dynamically.</div>
  </body>
</html>

JavaScript

js
function addElement() {
  // create a new div element
  const newDiv = document.createElement("div");

  // and give it some content
  const newContent = document.createTextNode("Hi there and greetings!");

  // add the text node to the newly created div
  newDiv.appendChild(newContent);

  // add the newly created element and its content into the DOM
  const currentDiv = document.getElementById("div1");
  document.body.insertBefore(newDiv, currentDiv);
}

addElement();

Ergebnis

Web Component Beispiel

Hinweis: Überprüfen Sie den Abschnitt zur Browser-Kompatibilität für Unterstützung und die Referenz des is Attributs für Hinweise zur Implementierungsrealität von angepassten eingebauten Elementen.

Das folgende Beispiel stammt aus unserem expanding-list-web-component Beispiel (siehe es auch live). In diesem Fall erweitert unser benutzerdefiniertes Element das HTMLUListElement, welches das <ul> Element darstellt.

js
// Create a class for the element
class ExpandingList extends HTMLUListElement {
  constructor() {
    // Always call super first in constructor
    super();

    // constructor definition left out for brevity
    // …
  }
}

// Define the new element
customElements.define("expanding-list", ExpandingList, { extends: "ul" });

Wenn wir eine Instanz dieses Elements programmgesteuert erstellen wollten, würden wir einen Aufruf wie den folgenden verwenden:

js
let expandingList = document.createElement("ul", { is: "expanding-list" });

Das neue Element erhält ein is Attribut, dessen Wert der Tag-Name des benutzerdefinierten Elements ist.

Hinweis: Aus Gründen der Rückwärtskompatibilität erlauben es einige Browser, hier einen String anstelle eines Objekts zu übergeben, wobei der Wert des Strings der Tag-Name des benutzerdefinierten Elements ist.

Spezifikationen

Specification
DOM
# ref-for-dom-document-createelement①

Browser-Kompatibilität

Siehe auch