--- title: Document.createElement() slug: Web/API/Document/createElement tags: - API - DOM - Document - Method - Reference - createElement - メソッド translation_of: Web/API/Document/createElement ---
HTML 文書において、 document.createElement()
メソッドは tagName で指定された HTML 要素を生成し、または tagName が認識できない場合は {{domxref("HTMLUnknownElement")}} を生成します。
var element = document.createElement(tagName[, options]);
createElement()
は要素を生成する前に tagName を小文字に変換します。 Firefox, Opera, Chrome では、 createElement(null)
は createElement("null")
のように動作します。ElementCreationOptions
オブジェクトで、 is
という名前のプロパティをひとつ持ち、その値は前に customElements.define()
を使用して定義したカスタム要素の名前です。詳しくは{{anch("Web component example", "ウェブコンポーネントの例")}}を参照してください。新しい {{domxref("Element")}}。
この例では新しい <div>
を生成し、"div1
" の id の要素の前に挿入します。
<!DOCTYPE html> <html> <head> <title>||Working with elements||</title> </head> <body> <div id="div1">The text above has been created dynamically.</div> </body> </html>
document.body.onload = addElement; function addElement () { // 新しい div 要素を作成します var newDiv = document.createElement("div"); // いくつかの内容を与えます var newContent = document.createTextNode("Hi there and greetings!"); // テキストノードを新規作成した div に追加します newDiv.appendChild(newContent); // DOM に新しく作られた要素とその内容を追加します var currentDiv = document.getElementById("div1"); document.body.insertBefore(newDiv, currentDiv); }
{{EmbedLiveSample("Basic_example", 500, 50)}}
以下の例の断片は expanding-list-web-component の例から取ったものです (ライブでもご覧ください)。この場合、カスタム要素は {{domxref("HTMLUListElement")}} を拡張し、 {{htmlelement("ul")}} 要素を表します。
// 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" });
この要素のインスタンスをプログラム的に生成したければ、次の行のような呼び出しを使用します。
let expandingList = document.createElement('ul', { is : 'expanding-list' })
新しい要素には is
属性が与えられ、その値はカスタム要素のタグ名になります。
注: カスタム要素仕様書の以前のバージョンととの後方互換性のため、一部のブラウザーはオブジェクトの代わりに文字列を渡すことを認めており、この文字列はカスタム要素のタグ名です。
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('DOM WHATWG', "#dom-document-createelement", "Document.createElement")}} | {{Spec2('DOM WHATWG')}} |
{{Compat("api.Document.createElement")}}