From 6dd1893ed2d8b7f9285557b6d7c346394eb1464d Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Mon, 17 Jan 2022 23:48:15 +0900 Subject: 2021/09/15 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/document/createelement/index.md | 152 +++++++++++------------ 1 file changed, 73 insertions(+), 79 deletions(-) (limited to 'files/ja/web') diff --git a/files/ja/web/api/document/createelement/index.md b/files/ja/web/api/document/createelement/index.md index a7ffc5f4dc..a5bfb18f1b 100644 --- a/files/ja/web/api/document/createelement/index.md +++ b/files/ja/web/api/document/createelement/index.md @@ -5,130 +5,124 @@ tags: - API - DOM - Document - - Method - - Reference - - createElement - メソッド + - リファレンス + - createElement +browser-compat: api.Document.createElement translation_of: Web/API/Document/createElement --- -
{{APIRef("DOM")}}
+{{APIRef("DOM")}} -

HTML 文書において、 document.createElement() メソッドは tagName で指定された HTML 要素を生成し、または tagName が認識できない場合は {{domxref("HTMLUnknownElement")}} を生成します。

+[HTML](/ja/docs/Web/HTML) 文書において、 **`document.createElement()`** メソッドは _tagName_ で指定された HTML 要素を生成し、または _tagName_ が認識できない場合は {{domxref("HTMLUnknownElement")}} を生成します。 -

構文

+## 構文 -
var element = document.createElement(tagName[, options]);
-
+```js +let element = document.createElement(tagName[, options]); +``` -

引数

+### 引数 -
-
tagName
-
生成される要素の型を特定する文字列。生成される要素の {{domxref("Node.nodeName", "nodeName")}} は tagName の値で初期化されます。このメソッドで修飾名 ("html:a" など) を使用しないでください。 HTML 文書で呼び出すと、 createElement() は要素を生成する前に tagName を小文字に変換します。 Firefox, Opera, Chrome では、 createElement(null)createElement("null") のように動作します。
-
options{{optional_inline}}
-
省略可能な ElementCreationOptions オブジェクトで、 is という名前のプロパティをひとつ持ち、その値は前に customElements.define() を使用して定義したカスタム要素の名前です。詳しくは{{anch("Web component example", "ウェブコンポーネントの例")}}を参照してください。
-
+- _tagName_ + - : 生成される要素の型を特定する文字列です。生成される要素の {{domxref("Node.nodeName", "nodeName")}} は _tagName_ の値で初期化されます。このメソッドで修飾名 ("html:a" など) を使用しないでください。 HTML 文書で呼び出すと、 `createElement()` は要素を生成する前に _tagName_ を小文字に変換します。 Firefox, Opera, Chrome では、 `createElement(null)` は `createElement("null")` のように動作します。 +- _options_{{optional_inline}} + - : 省略可能な `ElementCreationOptions` オブジェクトで、 `is` という名前のプロパティをひとつ持ち、その値は前に `customElements.define()` を使用して定義したカスタム要素の名前です。詳しくは{{anch("ウェブコンポーネントの例")}}を参照してください。 -

返値

+### 返値 -

新しい {{domxref("Element")}}。

+新しい {{domxref("Element")}} です。 -

+> **Note:** 文書が {{domxref("HTMLDocument", "HTMLDocument", "", "1")}} である場合、新しい {{domxref("HTMLElement", "HTMLElement", "", "1")}} を返しますが、これが最も一般的です。それ以外の場合は新しい {{domxref("Element","Element","","1")}} を返します。 -

基本的な例

+## 例 -

この例では新しい <div> を生成し、"div1" の id の要素の前に挿入します。

+### 基本的な例 -

HTML

+この例では新しい `
` を生成し、 id が "`div1`" である要素の前に挿入します。 -
<!DOCTYPE html>
-<html>
-<head>
-  <title>||Working with elements||</title>
-</head>
-<body>
-  <div id="div1">The text above has been created dynamically.</div>
-</body>
-</html>
-
+#### HTML -

JavaScript

+```html + + + + ||Working with elements|| + + +
The text above has been created dynamically.
+ + +``` -
document.body.onload = addElement;
+#### JavaScript
+
+```js
+document.body.onload = addElement;
 
 function addElement () {
   // 新しい div 要素を作成します
-  var newDiv = document.createElement("div");
+  const newDiv = document.createElement("div");
+
   // いくつかの内容を与えます
-  var newContent = document.createTextNode("Hi there and greetings!");
+  const newContent = document.createTextNode("Hi there and greetings!");
+
   // テキストノードを新規作成した div に追加します
   newDiv.appendChild(newContent);
 
   // DOM に新しく作られた要素とその内容を追加します
-  var currentDiv = document.getElementById("div1");
+  const currentDiv = document.getElementById("div1");
   document.body.insertBefore(newDiv, currentDiv);
-}
+} +``` + +#### 結果 -

{{EmbedLiveSample("Basic_example", 500, 50)}}

+{{EmbedLiveSample("Basic_example", 500, 80)}} -

ウェブコンポーネントの例

+### ウェブコンポーネントの例 -

以下の例の断片は expanding-list-web-component の例から取ったものです (ライブでもご覧ください)。この場合、カスタム要素は {{domxref("HTMLUListElement")}} を拡張し、 {{htmlelement("ul")}} 要素を表します。

+以下の例の断片は [expanding-list-web-component](https://github.com/mdn/web-components-examples/tree/master/expanding-list-web-component) + の例から取ったものです ([ライブでもご覧ください](https://mdn.github.io/web-components-examples/expanding-list-web-component/))。この場合、カスタム要素は {{domxref("HTMLUListElement")}} を拡張し、 {{htmlelement("ul")}} 要素を表します。 -
// Create a class for the element
+```js
+// 要素のためのクラスを作成
 class ExpandingList extends HTMLUListElement {
   constructor() {
-    // Always call super first in constructor
+    // コンストラクターでは常に super を最初に呼び出す
     super();
 
-    // constructor definition left out for brevity
+    // コンストラクターの定義は簡略化のため省略します。
     ...
   }
 }
 
-// Define the new element
-customElements.define('expanding-list', ExpandingList, { extends: "ul" });
+// 新しい要素を定義 +customElements.define('expanding-list', ExpandingList, { extends: "ul" }); +``` -

この要素のインスタンスをプログラム的に生成したければ、次の行のような呼び出しを使用します。

+この要素のインスタンスをプログラムで生成したければ、次の行のような呼び出しを使用します。 -
let expandingList = document.createElement('ul', { is : 'expanding-list' })
+```js +let expandingList = document.createElement('ul', { is : 'expanding-list' }) +``` -

新しい要素には is 属性が与えられ、その値はカスタム要素のタグ名になります。

+新しい要素には [`is`](/ja/docs/Web/HTML/Global_attributes/is) 属性が与えられ、その値はカスタム要素のタグ名になります。 -
-

: カスタム要素仕様書の以前のバージョンととの後方互換性のため、一部のブラウザーはオブジェクトの代わりに文字列を渡すことを認めており、この文字列はカスタム要素のタグ名です。

-
+> **Note:** [カスタム要素仕様書](https://www.w3.org/TR/custom-elements/)の以前のバージョンととの後方互換性のため、一部のブラウザーはオブジェクトの代わりに文字列を渡すことを認めており、この文字列はカスタム要素のタグ名です。 -

仕様書

+## 仕様書 - - - - - - - - - - - - - - - -
仕様書状態備考
{{SpecName('DOM WHATWG', "#dom-document-createelement", "Document.createElement")}}{{Spec2('DOM WHATWG')}}
+{{Specifications}} -

ブラウザーの互換性

+## ブラウザーの互換性 -

{{Compat("api.Document.createElement")}}

+{{Compat}} -

関連情報

+## 関連情報 - +- {{domxref("Node.removeChild()")}} +- {{domxref("Node.replaceChild()")}} +- {{domxref("Node.appendChild()")}} +- {{domxref("Node.insertBefore()")}} +- {{domxref("Node.hasChildNodes()")}} +- {{domxref("document.createElementNS()")}} — 要素の名前空間 URI を明示的に指定するために使用 -- cgit v1.2.3-54-g00ecf