Start · Sprachen · JavaScript · Referenz · Document.createElement()

Document.createElement()

Methode

Erstellt ein neues <code>HTMLElement</code> mit dem angegebenen <code>localName</code>.

Kategorie: webapi

Signatur

createElement(localName) / createElement(localName, options)

Beschreibung

Die Methode createElement() der Schnittstelle Document erstellt ein neues HTMLElement, das den angegebenen localName hat.

Wenn localName nicht erkannt wird, erstellt die Methode ein HTMLUnknownElement.

Parameter

Name Typ Default Beschreibung
$localName Pflicht string — Ein String, der den Typ des zu erstellenden Elements angibt. Verwenden Sie mit dieser Methode keine qualifizierten Namen (wie "html:a"). Wenn createElement() auf einem HTML-Dokument aufgerufen wird, konvertiert es localName vor der Erstellung des Elements in Kleinbuchstaben. In Firefox, Opera und Chrome funktioniert createElement(null) wie createElement("null").
$options Object — Ein Objekt mit den folgenden optionalen Eigenschaften (beachten Sie, dass nur eine der Eigenschaften is und customElementRegistry gesetzt werden darf): is (optional): Ein String, der den Tag-Namen für ein benutzerdefiniertes Element definiert, das zuvor mit customElements.define() definiert wurde. Das neue Element erhält ein is-Attribut, dessen Wert der Tag-Name des benutzerdefinierten Elements ist. customElementRegistry (optional): Ein CustomElementRegistry, das die Scoped custom element registry eines benutzerdefinierten Elements festlegt.

Rückgabewert

Typ
Element
Beschreibung
Das neue Element. Ein neues HTMLElement wird zurückgegeben, wenn das Dokument ein HTMLDocument ist, was der häufigste Fall ist. Andernfalls wird ein neues Element zurückgegeben.

Beispiele

Grundlegendes Beispiel – JavaScript

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();

Web-Component-Beispiel – Definition

// 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" });

Web-Component-Beispiel – Instanziierung

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

// Wichtig · Fallstricke

Ausnahme InvalidCharacterError (DOMException): Wird ausgelöst, wenn der Wert von localName kein gültiger Elementname ist. Ein String ist ein gültiger Elementname, wenn seine Länge mindestens 1 beträgt und: er mit einem Alphabet-Zeichen beginnt und kein ASCII-Whitespace, NULL, / oder > (U+0000, U+002F bzw. U+003E) enthält; oder er mit : (U+003A), _ (U+005F) oder einem beliebigen Zeichen im Bereich U+0080 bis U+10FFFF (einschließlich) beginnt und die verbleibenden Codepunkte nur diese Zeichen zusammen mit ASCII-alphanumerischen Zeichen, - (U+002D) und . (U+002E) enthalten. Frühere Versionen der Spezifikation waren restriktiver und verlangten, dass der localName ein gültiger XML-Name ist. Ausnahme NotSupportedError (DOMException): Wird ausgelöst, wenn sowohl die Optionen is als auch customElementRegistry angegeben sind. Aus Gründen der Abwärtskompatibilität erlauben einige Browser, hier einen String anstelle eines Objekts zu übergeben, wobei der Wert des Strings der Tag-Name des benutzerdefinierten Elements ist.