From 7d9629e268d787683dbb5e29e228b3cb0a20e6ad Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Wed, 2 Mar 2022 23:08:13 +0900 Subject: 2021/09/15 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/element/after/index.md | 76 +++++----- files/ja/web/api/element/append/index.md | 97 +++++++------ files/ja/web/api/element/before/index.md | 79 ++++++----- files/ja/web/api/element/closest/index.md | 158 +++++++++------------ files/ja/web/api/element/getattributens/index.md | 107 ++++++++++---- .../api/element/getelementsbyclassname/index.md | 123 ++++++++-------- .../web/api/element/getelementsbytagname/index.md | 69 +++++---- .../api/element/getelementsbytagnamens/index.md | 57 ++++---- 8 files changed, 396 insertions(+), 370 deletions(-) (limited to 'files') diff --git a/files/ja/web/api/element/after/index.md b/files/ja/web/api/element/after/index.md index 52186ca2fb..40344ddd30 100644 --- a/files/ja/web/api/element/after/index.md +++ b/files/ja/web/api/element/after/index.md @@ -4,40 +4,38 @@ slug: Web/API/Element/after tags: - API - DOM - - Method + - メソッド - Node - - Reference + - リファレンス browser-compat: api.Element.after translation_of: Web/API/Element/after --- -
{{APIRef("DOM")}}
+{{APIRef("DOM")}} -

Element.after() は、Element の親の子リストの、Element の直後に、 {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトのセットを挿入します。 {{domxref("DOMString")}} オブジェクトは {{domxref("Text")}} ノードと等価なノードとして挿入されます。

+**`Element.after()`** は、一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトをこの `Element` の親の子リストの、 `Element` の直後に挿入します。 {{domxref("DOMString")}} オブジェクトは {{domxref("Text")}} ノードと等価なノードとして挿入されます。 -

構文

+## 構文 -
+```js
 after(... nodes)
-
+``` -

引数

+### 引数 -
-
nodes
-
挿入する一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトです。
-
+- `nodes` + - : 挿入する一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトです。 -

例外

+### 例外 - +- `HierarchyRequestError` {{DOMxRef("DOMException")}} + - : ノードが階層構造の中の指定された位置に挿入できなかったときに発生します。 -

+## 例 -

要素の挿入

+### 要素の挿入 -
let container = document.createElement("div");
+```js
+let container = document.createElement("div");
 let p = document.createElement("p");
 container.appendChild(p);
 let span = document.createElement("span");
@@ -45,23 +43,26 @@ let span = document.createElement("span");
 p.after(span);
 
 console.log(container.outerHTML);
-// "<div><p></p><span></span></div>"
-
+// "

" +``` -

テキストの挿入

+### テキストの挿入 -
let container = document.createElement("div");
+```js
+let container = document.createElement("div");
 let p = document.createElement("p");
 container.appendChild(p);
 
 p.after("Text");
 
 console.log(container.outerHTML);
-// "<div><p></p>Text</div>"
+// "

Text
" +``` -

要素とテキストの挿入

+### 要素とテキストの挿入 -
let container = document.createElement("div");
+```js
+let container = document.createElement("div");
 let p = document.createElement("p");
 container.appendChild(p);
 let span = document.createElement("span");
@@ -69,22 +70,21 @@ let span = document.createElement("span");
 p.after(span, "Text");
 
 console.log(container.outerHTML);
-// "<div><p></p><span></span>Text</div>"
+// "

Text
" +``` -

仕様書

+## 仕様書 {{Specifications}} -

ブラウザーの互換性

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

{{Compat}}

+{{Compat}} -

関連情報

+## 関連情報 - +- {{domxref("Element.before()")}} +- {{domxref("Element.append()")}} +- {{domxref("Node.appendChild()")}} +- {{domxref("Element.insertAdjacentElement()")}} +- {{domxref("NodeList")}} diff --git a/files/ja/web/api/element/append/index.md b/files/ja/web/api/element/append/index.md index 82feaa6f91..ffe3f44068 100644 --- a/files/ja/web/api/element/append/index.md +++ b/files/ja/web/api/element/append/index.md @@ -4,97 +4,96 @@ slug: Web/API/Element/append tags: - API - DOM - - Method + - メソッド - Node - Element - - Reference + - リファレンス browser-compat: api.Element.append translation_of: Web/API/Element/append original_slug: Web/API/ParentNode/append --- -

{{APIRef("DOM")}}

+{{APIRef("DOM")}} -

Element.append() メソッドは、一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトを Element のの最後の子の後に挿入します。 {{domxref("DOMString")}} オブジェクトは等価な {{domxref("Text")}} ノードとして挿入されます。

+**`Element.append()`** メソッドは、一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトを `Element` のの最後の子の後に挿入します。 {{domxref("DOMString")}} オブジェクトは等価な {{domxref("Text")}} ノードとして挿入されます。 -

{{domxref("Node.appendChild()")}} との違いは次の通りです。

+{{domxref("Node.appendChild()")}} との違いは次の通りです。 - +- `Element.append()` は {{domxref("DOMString")}} も追加することができますが、`Node.appendChild()` は{{domxref("Node")}} オブジェクトのみを受け付けます。 +- `Element.append()` には返値がありませんが、`Node.appendChild()` は追加された {{domxref("Node")}} オブジェクトを返します。 +- `Element.append()` は複数のノードや文字列を追加することができますが、`Node.appendChild()` はノードを 1 つだけしか追加することができせん。 -

構文

+## 構文 -
+```js
 append(...nodesOrDOMStrings)
-
+``` -

引数

+### 引数 -
-
nodesOrDOMStrings
-
挿入する一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトです。
-
+- `nodesOrDOMStrings` + - : 挿入する一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトです。 -

例外

+### 例外 - +- `HierarchyRequestError` {{DOMxRef("DOMException")}} + - : ノードが階層構造の中の指定された位置に挿入できなかったときに発生します。 -

+## 例 -

要素の追加

+### 要素の追加 -
let div = document.createElement("div")
+```js
+let div = document.createElement("div")
 let p = document.createElement("p")
 div.append(p)
 
-console.log(div.childNodes) // NodeList [ <p> ]
-
+console.log(div.childNodes) // NodeList [

] +``` -

テキストの追加

+### テキストの追加 -
let div = document.createElement("div")
+```js
+let div = document.createElement("div")
 div.append("Some text")
 
-console.log(div.textContent) // "Some text"
+console.log(div.textContent) // "Some text" +``` -

要素とテキストの追加

+### 要素とテキストの追加 -
let div = document.createElement("div")
+```js
+let div = document.createElement("div")
 let p = document.createElement("p")
 div.append("Some text", p)
 
-console.log(div.childNodes) // NodeList [ #text "Some text", <p> ]
+console.log(div.childNodes) // NodeList [ #text "Some text",

] +``` -

append メソッドはスコープが効かない

+### append メソッドはスコープが効かない -

append() メソッドは with 文の中ではスコープが効きません。詳しくは {{jsxref("Symbol.unscopables")}} をご覧ください。

+`append()` メソッドは `with` 文の中ではスコープが効きません。詳しくは {{jsxref("Symbol.unscopables")}} をご覧ください。 -
let div = document.createElement("div")
+```js
+let div = document.createElement("div")
 
 with(div) {
   append("foo")
 }
-// ReferenceError: append is not defined 
+// ReferenceError: append is not defined +``` - -

仕様書

+## 仕様書 {{Specifications}} -

ブラウザーの互換性

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

{{Compat}}

+{{Compat}} -

関連情報

+## 関連情報 - +- {{domxref("Element.prepend()")}} +- {{domxref("Node.appendChild()")}} +- {{domxref("Element.after()")}} +- {{domxref("Element.insertAdjacentElement()")}} +- {{domxref("NodeList")}} diff --git a/files/ja/web/api/element/before/index.md b/files/ja/web/api/element/before/index.md index 652f38c95f..2bef18e920 100644 --- a/files/ja/web/api/element/before/index.md +++ b/files/ja/web/api/element/before/index.md @@ -4,39 +4,39 @@ slug: Web/API/Element/before tags: - API - DOM - - Method + - メソッド - Node - - Reference + - リファレンス browser-compat: api.Element.before translation_of: Web/API/Element/before original_slug: Web/API/ChildNode/before --- -
{{APIRef("DOM")}}
+{{APIRef("DOM")}} -

Element.before() は一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトを、この Element の親の子リストの中、この Element の直前に挿入します。 {{domxref("DOMString")}} オブジェクトは {{domxref("Text")}} ノードと等価なノードとして挿入されます。

+**`Element.before()`** は一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトを、この `Element` の親の子リストの中、この `Element` の直前に挿入します。 {{domxref("DOMString")}} オブジェクトは {{domxref("Text")}} ノードと等価なノードとして挿入されます。 -

構文

+## 構文 -
before(... nodes)
+```js +before(... nodes) +``` -

引数

+### 引数 -
-
nodes
-
挿入する一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトです。
-
+- `nodes` + - : 挿入する一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトです。 -

例外

+### 例外 - +- `HierarchyRequestError` {{DOMxRef("DOMException")}} + - : ノードが階層構造の中の指定された位置に挿入できなかったときに発生します。 -

+## 例 -

要素の挿入

+### 要素の挿入 -
let container = document.createElement("div");
+```js
+let container = document.createElement("div");
 let p = document.createElement("p");
 container.appendChild(p);
 let span = document.createElement("span");
@@ -44,23 +44,26 @@ let span = document.createElement("span");
 p.before(span);
 
 console.log(container.outerHTML);
-// "<div><span></span><p></p></div>"
-
+// "

" +``` -

テキストの挿入

+### テキストの挿入 -
let container = document.createElement("div");
+```js
+let container = document.createElement("div");
 let p = document.createElement("p");
 container.appendChild(p);
 
 p.before("Text");
 
 console.log(container.outerHTML);
-// "<div>Text<p></p></div>"
+// "
Text

" +``` -

要素とテキストの挿入

+### 要素とテキストの挿入 -
let container = document.createElement("div");
+```js
+let container = document.createElement("div");
 let p = document.createElement("p");
 container.appendChild(p);
 let span = document.createElement("span");
@@ -68,24 +71,22 @@ let span = document.createElement("span");
 p.before(span, "Text");
 
 console.log(container.outerHTML);
-// "<div><span></span>Text<p></p></div>"
+// "
Text

" +``` - -

仕様書

+## 仕様書 {{Specifications}} -

ブラウザーの互換性

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

{{Compat}}

+{{Compat}} -

関連情報

+## 関連情報 - +- {{domxref("Element.after()")}} +- {{domxref("Element.append()")}} +- {{domxref("Node.appendChild()")}} +- {{domxref("Node.insertBefore()")}} +- {{domxref("Element.insertAdjacentElement()")}} +- {{domxref("NodeList")}} diff --git a/files/ja/web/api/element/closest/index.md b/files/ja/web/api/element/closest/index.md index dd876b80aa..5cb1ccccda 100644 --- a/files/ja/web/api/element/closest/index.md +++ b/files/ja/web/api/element/closest/index.md @@ -3,56 +3,56 @@ title: Element.closest() slug: Web/API/Element/closest tags: - API + - CSS セレクター - DOM - Element - - Method - - Reference - メソッド + - リファレンス + - セレクター +browser-compat: api.Element.closest translation_of: Web/API/Element/closest --- -
{{APIRef('DOM')}}
+{{APIRef('DOM')}} -
closest() メソッドは、要素とその親 (文書ルートに向かって) を、指定されたセレクター文字列に一致するノードが見つかるまで探索します。自分自身または一致する祖先を返します。そのような要素が存在しない場合は、 null を返します。 +**`closest()`** は {{domxref("Element")}} インターフェイスのメソッドで、この要素 ({{domxref("Element")}}) とその親階層に(文書ルートに向かって)、指定されたセレクター文字列に一致するノードが見つかるまで探索します。自分自身または一致する祖先を返します。そのような要素が存在しない場合は、 `null` を返します。 -

構文

+## 構文 -
var closestElement = targetElement.closest(selectors);
-
+```js +var closestElement = targetElement.closest(selectors); +``` -

引数

+### 引数 - +- `selectors` は {{domxref("DOMString")}} で、セレクターのリストを指定します。 + 例: `p:hover, .toto + q` -

返値

+### 返値 - +- `closestElement` は選択された要素の直近の祖先に当たる {{domxref("Element")}} です。 `null` になることがあります。 -

例外

+### 例外 - +- {{exception("SyntaxError")}} は `selectors` が妥当なセレクターリストの文字列ではない場合に発生します。 -

+## 例 -

HTML

+### HTML -
<article>
-  <div id="div-01">Here is div-01
-    <div id="div-02">Here is div-02
-      <div id="div-03">Here is div-03</div>
-    </div>
-  </div>
-</article>
+```html +
+
Here is div-01 +
Here is div-02 +
Here is div-03
+
+
+
+``` -

JavaScript

+### JavaScript -
var el = document.getElementById('div-03');
+```js
+var el = document.getElementById('div-03');
 
 var r1 = el.closest("#div-02");
 // id=div-02 である要素を返す
@@ -64,15 +64,18 @@ var r3 = el.closest("article > div");
 // 親に article を持つ div である直近の祖先、ここでは div-01 を返す
 
 var r4 = el.closest(":not(div)");
-// div ではない直近の祖先、ここではもっとも外側の article を返す
+// div ではない直近の祖先、ここではもっとも外側の article を返す +``` -

ポリフィル

+## ポリフィル -

Element.closest() に対応していないブラウザーで、 element.matches() (または接頭辞付きの同等のもの、すなわち IE9+) に対応しているものには、ポリフィルがあります。

+`Element.closest()` に対応していないブラウザーで、 `element.matches()` (または接頭辞付きの同等のもの、すなわち IE9+) に対応しているものには、ポリフィルがあります。 -
if (!Element.prototype.matches) {
-  Element.prototype.matches = Element.prototype.msMatchesSelector ||
-                              Element.prototype.webkitMatchesSelector;
+```js
+if (!Element.prototype.matches) {
+  Element.prototype.matches =
+    Element.prototype.msMatchesSelector ||
+    Element.prototype.webkitMatchesSelector;
 }
 
 if (!Element.prototype.closest) {
@@ -82,68 +85,43 @@ if (!Element.prototype.closest) {
     do {
       if (Element.prototype.matches.call(el, s)) return el;
       el = el.parentElement || el.parentNode;
-    } while (el !== null && el.nodeType === 1);
+    } while (el !== null && el.nodeType === 1);
     return null;
   };
-}
+} +``` -

しかし、本当に IE 8 の対応が必要な場合は、以下のポリフィルがとても遅い処理ながら、結果を出すことができます。但し、 IE 8 は CSS 2.1 のセレクターにしか対応しておらず、本番のウェブサイトが極端に遅くなる原因となることがあります。

+しかし、本当に IE 8 の対応が必要な場合は、以下のポリフィルがとても遅い処理ながら、結果を出すことができます。但し、 IE 8 は CSS 2.1 のセレクターにしか対応しておらず、本番のウェブサイトが極端に遅くなる原因となることがあります。 -
if (window.Element && !Element.prototype.closest) {
-  Element.prototype.closest =
-  function(s) {
+```js
+if (window.Element && !Element.prototype.closest) {
+  Element.prototype.closest = function(s) {
     var matches = (this.document || this.ownerDocument).querySelectorAll(s),
         i,
         el = this;
     do {
       i = matches.length;
-      while (--i >= 0 && matches.item(i) !== el) {};
-    } while ((i < 0) && (el = el.parentElement));
+      while (--i >= 0 && matches.item(i) !== el) {};
+    } while ((i < 0) && (el = el.parentElement));
     return el;
   };
 }
-
- -

仕様書

- - - - - - - - - - - - - - - - -
仕様書状態備考
{{SpecName('DOM WHATWG', '#dom-element-closest', 'Element.closest()')}}{{Spec2('DOM WHATWG')}}初回定義
- -

ブラウザーの互換性

- -
-

{{Compat("api.Element.closest")}}

- -

互換性のメモ

- -
    -
  • Edge 15-18 では、要素が最初に(直接的または間接的に)コンテキストオブジェクト、例えば通常の DOM の場合は {{domxref("Document")}} オブジェクトに接続されていない場合、 document.createElement(tagName).closest(tagName)null を返します。
  • -
-
- -

関連情報

- - -
+``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +### 互換性のメモ + +- Edge 15-18 では、要素が最初に(直接的または間接的に)コンテキストオブジェクト、例えば通常の DOM の場合は {{domxref("Document")}} オブジェクトに接続されていない場合、 `document.createElement(tagName).closest(tagName)` が `null` を返します。 + +## 関連情報 + +- {{domxref("Element")}} インターフェイス +- [セレクターの構文](/ja/docs/Learn/CSS/Building_blocks/Selectors) +- セレクターを取る他のメソッド: {{domxref("element.querySelector()")}} および {{domxref("element.matches()")}} diff --git a/files/ja/web/api/element/getattributens/index.md b/files/ja/web/api/element/getattributens/index.md index ee03de1cab..7ec8113595 100644 --- a/files/ja/web/api/element/getattributens/index.md +++ b/files/ja/web/api/element/getattributens/index.md @@ -1,47 +1,100 @@ --- -title: element.getAttributeNS +title: Element.getAttributeNS() slug: Web/API/Element/getAttributeNS tags: + - API - DOM - - Gecko - - 翻訳中 + - Element + - メソッド + - リファレンス +browser-compat: api.Element.getAttributeNS translation_of: Web/API/Element/getAttributeNS --- -

{{ ApiRef("DOM") }}

+{{APIRef("DOM")}} -

概要

+**`getAttributeNS()`** は {{domxref("Element")}} インターフェイスのメソッドで、指定された名前空間と名前を持つ属性の文字列値を返します。のような名前の属性が存在しない場合は、 `null` または `""` (空文字列のどちらかを返します。詳しくは{{Anch("メモ")}}を参照してください。 -

getAttributeNS は指定の名前空間と名前の属性の文字列値を返します。もし指定の名前の属性が存在しなければ、戻り値は null または ""(空文字列) のいずれかとなります。詳細は{{ Anch("注記") }} を参照。

+## 構文 -

構文

+```js +attrVal = element.getAttributeNS(namespace, name) +``` -
attrVal =element.getAttributeNS(namespace,name)
-
+### 引数 -

引数

+- `namespace` + - : 指定された属性を探す名前空間です。 +- `name` + - : 探す属性の名前です。 - +### 返値 -

+指定された属性の文字列値です。その属性が存在しない場合、結果は `null` になります。 -
var div1 = document.getElementById("div1");
-var a = div1.getAttributeNS("www.mozilla.org/ns/specialspace/",
-                            "special-align");
-alert(a); // div の align 属性の値を表示します。
-
+> **Note:** 古いバージョンの DOM 仕様書では、このメソッドが存在しない属性に対しては空文字列を返すと説明していました。しかし、 null の方が分かりやすいので、そのような実装はあまり行われませんでした。 DOM4 仕様書ではこのメソッドは存在しない属性に対して null を返すと書くようになりました。 -

注記

+## 例 -

getAttributeNSgetAttribute と異なります。getAttributeNS は特定の名前空間に属している要求された属性をより深く特定することができます。上記の例では、属性は mozilla の架空の "specialspace" 名前空間に属しています。

+以下の SVG 文書は独自の名前空間にある `foo` 属性の値を読み取ります。 -

DOM4 より前の仕様では、このメソッドは属性が存在しない場合に null ではなく空文字列を返すように指定されていました。しかし、ほとんどのウェブ・ブラウザは null を返していました。DOM4 以降は、仕様でも null を返すように指定されました。しかしながら、いくつかの古いウェブ・ブラウザは空文字列を返します。そのため、指定の要素に指定の属性が存在しない可能性があるなら getAttributeNS を呼ぶ前に hasAttributeNS を使用して属性の存在を確かめる必要があります。

+```xml + -

{{ DOMAttributeMethods() }}

+ -

仕様

+ + +``` + +HTML5 文書では名前空間に対応していないため、この属性は `test:foo` でアクセスする必要があります。 + +```html + + + + + + + + + + + + +``` + +## メモ + +名前空間は XML 文書でのみ対応しています。 HTML5 文書では、代わりに `getAttribute()` を使用する必要があります。 + +`getAttributeNS()` は {{domxref("element.getAttribute()", + "getAttribute()")}} とは異なり、特定の名前空間に属している要求された属性をより深く特定することができます。上記の例では、属性は Mozilla の架空の "specialspace" 名前空間に属しています。 + +DOM4 より前の仕様では、このメソッドは属性が存在しない場合に null ではなく空文字列を返すように指定されていました。しかし、ほとんどのウェブブラウザーは null を返していました。 DOM4 以降は、仕様でも null を返すように指定されました。しかし、一部の古いウェブブラウザーは空文字列を返します。そのため、指定の要素に指定の属性が存在しない可能性があるなら、 `getAttributeNS` を呼ぶ前に {{domxref("element.hasAttributeNS()", "hasAttributeNS()")}} を使用して属性の存在を確かめる必要があります。 + +{{DOMAttributeMethods}} + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [コードスニペット:getAttributeNS](/ja/docs/Mozilla/Add-ons/Code_snippets/getAttributeNS) diff --git a/files/ja/web/api/element/getelementsbyclassname/index.md b/files/ja/web/api/element/getelementsbyclassname/index.md index c20756a14b..1b69097ee3 100644 --- a/files/ja/web/api/element/getelementsbyclassname/index.md +++ b/files/ja/web/api/element/getelementsbyclassname/index.md @@ -3,111 +3,108 @@ title: Element.getElementsByClassName() slug: Web/API/Element/getElementsByClassName tags: - API - - Classes + - クラス - Element - - Method - - Reference + - メソッド + - リファレンス - getElementsByClassName +browser-compat: api.Element.getElementsByClassName translation_of: Web/API/Element/getElementsByClassName --- -
{{APIRef("DOM")}}
+{{APIRef("DOM")}} -

{{domxref("Element")}} の getElementsByClassName() メソッドは、引数で与えられたクラス名を含むすべての子要素を、ライブな {{domxref("HTMLCollection")}}で返します。 

+{{domxref("Element")}} の **`getElementsByClassName()`** メソッドは、引数で与えられたクラス名を含むすべての子要素を、生きた {{domxref("HTMLCollection")}} で返します。  -

{{domxref("Document.getElementsByClassName", "Document.getElementsByClassName()")}} メソッドはこのメソッドとほぼ同様に動作しますが、{{domxref("Document")}} 全体に働きます。特定されたドキュメントルート要素の子孫のうち、与えられたクラス名に合う複数の要素を返します。

+{{domxref("Document.getElementsByClassName", "getElementsByClassName()")}} メソッドはこのメソッドとほぼ同様に動作しますが、 {{domxref("Document")}} 全体に働きます。特定された文書ルート要素の子孫のうち、与えられたクラス名に合う複数の要素を返します。 -

構文

+## 構文 -
var elements = element.getElementsByClassName(names);
+```js +var elements = element.getElementsByClassName(names); +``` -

引数

+### 引数 -
-
names
-
マッチさせる一つ以上のクラス名を表す {{domxref("DOMString")}} で、クラス名は空白区切りで指定できます。
-
+- `names` + - : 一致させる一つ以上のクラス名を表す {{domxref("DOMString")}} で、クラス名は空白区切りで指定できます。 -

戻り値

+### 返値 -

names で指定したすべてのクラスを持つすべての要素のリストである live な {{ domxref("HTMLCollection") }} です。

+{{domxref("HTMLCollection")}} で、 `names` で指定したすべてのクラスを持つすべての要素のライブで更新されるリストです。 -

使用上の注意

+## 使用上の注意 -

この関数が返すコレクションは常に live です。つまり、この関数を呼び出された要素をルートとする DOM ツリーの現在の状態が常に反映されています。サブツリー上で names にマッチする新しい要素が追加されたり、サブツリー上にある names にマッチしなかった要素が names にマッチするよう変更された場合、すぐにこのコレクションに追加されます。

+この関数が返すコレクションは常に*生きています*。つまり、この関数を呼び出された要素をルートとする DOM ツリーの現在の状態が常に反映されています。サブツリー上で `names` に一致する新しい要素が追加された場合は、直ちにこのコレクションに追加されます。同様に、サブツリー上にある `names` に一致しなかった要素が一致するよう変更された場合も、すぐにこのコレクションに現れます。 -

逆もしかりです。names にマッチしなくなったりツリーから外された要素は、すぐにコレクションから除外されます。

+逆もしかりです。 `names` に一致しなくなったりツリーから外された要素は、すぐにコレクションから除外されます。 -
-

クラス名は後方互換モードでは大文字・小文字を区別されず、それ以外では区別されます。

-
+> **Note:** クラス名は[後方互換モード](/ja/docs/Web/HTML/Quirks_Mode_and_Standards_Mode)では大文字・小文字が区別されず、それ以外では区別されます。 -

+## 例 -

単一のクラスとマッチさせる

+### 単一のクラスと一致させる -

単一の指定されたクラスを含む要素を探すには、 getElementsByClassName() を呼び出す際にそのクラス名を指定するだけです。

+単一の指定されたクラスを含む要素を探すには、 `getElementsByClassName()` を呼び出す際にそのクラス名を指定するだけです。 -
element.getElementsByClassName('test');
+```js +element.getElementsByClassName('test'); +``` -

この例は mainid を持つ要素の子孫の中で、test クラスをもつ全要素を見つけます。

+この例は `main` の `id` を持つ要素の子孫の中で、`test` クラスをもつ全要素を見つけます。 -
document.getElementById('main').getElementsByClassName('test');
+```js +document.getElementById('main').getElementsByClassName('test'); +``` -

複数のクラスとマッチさせる

+### 複数のクラスと一致させる -

redtest 両方のクラスを含んだ要素を見つけます。

+`red` と `test` 両方のクラスを含んだ要素を見つけます。 -
element.getElementsByClassName('red test');
+```js +element.getElementsByClassName('red test'); +``` -

結果を調査する

+### 結果を調査する -

標準の配列構文や、HTMLCollection の {{domxref("HTMLCollection.item", "item()")}} メソッドを使うことで、返されたコレクションの要素を調査することができます。しかし、次の例はうまく動作しないでしょうcolorbox クラスを外した際に、matches がすぐに変更されてしまうからです。

+標準の配列構文や、`HTMLCollection` の {{domxref("HTMLCollection.item", "item()")}} メソッドを使うことで、返されたコレクションの要素を調査することができます。しかし、次の例はうまく動作しないでしょう。`colorbox` クラスを外した際に、`matches` がすぐに変更されてしまうからです。 -
var matches = element.getElementsByClassName('colorbox');
+```js
+var matches = element.getElementsByClassName('colorbox');
 
-for (var i=0; i<matches.length; i++) {
+for (var i=0; i
+```
 
-

別の手段を使いましょう。例えば、

+別の手段を使いましょう。例えば、 -
var matches = element.getElementsByClassName('colorbox');
+```js
+var matches = element.getElementsByClassName('colorbox');
 
-while (matches.length > 0) {
+while (matches.length > 0) {
   matches.item(0).classList.add('hueframe');
   matches[0].classList.remove('colorbox');
-}
+} +``` -

このコードは、"colorbox" クラスを持つ子孫要素を見つけ、item(0)を呼び出して "hueframe" クラスを追加し、(配列表記で) "colorbox" を削除します。その後、(もし残っていれば)別の要素が item(0) になります。

+このコードは、`"colorbox"` クラスを持つ子孫要素を見つけ、`item(0)`を呼び出して `"hueframe"` クラスを追加し、(配列記法で) `"colorbox"` を削除します。その後、(もし残っていれば)別の要素が `item(0)` になります。 -

Arrayメソッドで結果を抽出する

+### Array メソッドで結果を抽出する -

このメソッドの戻り値を this 値として {{jsxref("Array.prototype")}} メソッドに与えることで、任意の {{ domxref("HTMLCollection") }} で Array メソッドを使うことができます。次の例では test クラスを持つすべての {{HTMLElement("div")}} 要素を見つけられます。

+このメソッドの戻り値を `this` 値として {{jsxref("Array.prototype")}} メソッドに与えることで、任意の {{ domxref("HTMLCollection") }} で `Array` メソッドを使うことができます。次の例では `test` クラスを持つすべての {{HTMLElement("div")}} 要素を見つけられます。 -
var testElements = document.getElementsByClassName('test');
-var testDivs = Array.prototype.filter.call(testElements, function(testElement){
-    return testElement.nodeName === 'DIV';
-});
+```js +var testElements = document.getElementsByClassName('test'); +var testDivs = Array.prototype.filter.call(testElements, function(testElement) { + return testElement.nodeName === 'DIV'; +}); +``` -

仕様

+## 仕様書 - - - - - - - - - - - - - -
仕様ステータスコメント
{{SpecName('DOM WHATWG', '#dom-element-getelementsbyclassname', 'Element.getElementsByClassName()')}}{{Spec2('DOM WHATWG')}}初期定義
+{{Specifications}} -

ブラウザーの互換性

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

{{Compat("api.Element.getElementsByClassName")}}

+{{Compat}} diff --git a/files/ja/web/api/element/getelementsbytagname/index.md b/files/ja/web/api/element/getelementsbytagname/index.md index 248bf36639..5164678956 100644 --- a/files/ja/web/api/element/getelementsbytagname/index.md +++ b/files/ja/web/api/element/getelementsbytagname/index.md @@ -1,55 +1,54 @@ --- -title: element.getElementsByTagName +title: Element.getElementsByTagName() slug: Web/API/Element/getElementsByTagName tags: + - API - DOM - - Gecko + - Element + - メソッド + - リファレンス +browser-compat: api.Element.getElementsByTagName translation_of: Web/API/Element/getElementsByTagName --- -

{{ ApiRef() }}

+{{ APIRef("DOM") }} -

概要

+**`Element.getElementsByTagName()`** メソッドは、生きた {{domxref("HTMLCollection")}} で指定された[タグ名](/ja/docs/Web/API/Element/tagName)を持つ要素を返します。 -

指定された タグ名 による要素のリストを返します。指定された要素以下のサブツリーが検索対象となり、その要素自体は除外されます。

+この要素のすべての子孫が検索されますが、要素そのものは検索されません。返されるリストは*生きており*、 DOM ツリーとともに自動的に更新されます。したがって、同じ要素と引数で `Element.getElementsByTagName()` を繰り返し呼び出す必要はなく、呼び出しの間に DOM が変化しても大丈夫です。 -

構文

+HTML 文書内の HTML 要素に対して呼び出された場合、 `getElementsByTagName` は引数を小文字に変換してから検索を行います。これは、HTML 文書内のキャメルケースの SVG 要素(例えば [``](/ja/docs/Web/SVG/Element/linearGradient))と照合しようとする場合には望ましくありません。代わりに、 {{ domxref("Element.getElementsByTagNameNS()") }} を使ってください。この場合、タグ名の大文字と小文字は区別されます。 -
elements = element.getElementsByTagName(tagName)
-
+`Element.getElementsByTagName` は {{domxref("Document.getElementsByTagName()")}} に似ていますが、指定した要素の子孫の要素のみを検索する点が異なります。 -
    -
  • elements は見つかった要素の「生」の NodeList で、サブツリー内に出現した順番になります。
  • -
  • element は検索を開始する要素です。この要素の子孫要素のみが検索に含まれ、この要素自体は検索対象とならないことに注意してください。
  • -
  • tagName は検索条件とするタグ名です。特別な文字列 "*" はすべての要素を表します。
  • -
+## 構文 -
-

Firefox 2 (Gecko 1.8.1) およびそれ以前では、タグ名に名前空間接頭辞が付いた要素がサブツリーに含まれていた場合、このメソッドは正しく動作しません (詳しくは {{ Bug(206053) }} を参照してください)。

+```js +elements = element.getElementsByTagName(tagName) +``` -

複数の名前空間を持ったドキュメントを扱う際は {{ Domxref("element.getElementsByTagNameNS") }} を使うことを推奨します。

-
+- `elements` は*生きた* {{domxref("HTMLCollection")}} で、タグ名が一致する要素が出現順で入ります。要素が見つかアなかった場合は `HTMLCollection` は空になります。 +- `element` は検索を始める要素です。この要素の子孫のみが含まれ、この要素自身は含まれません。 +- `tagName` は検索する修飾名です。特別な文字列 `"*"` はすべての要素を表します。 XHTML との互換性のため、小文字を使用してください。 -

+## 例 -
// テーブル内のセルの数だけ反復処理します
-var table = document.getElementById("forecast-table");
-var cells = table.getElementsByTagName("td");
-for (var i = 0; i < cells.length; i++) {
-    status = cells[i].getAttribute("status");
-    if ( status == "open") {
-        // データを取得します
-    }
-}
-
- -

注意点

+```js +// テーブル内のセルの数だけ反復処理します +const table = document.getElementById('forecast-table'); +const cells = table.getElementsByTagName('td'); -

element.getElementsByTagName は、検索対象が指定された要素の子孫要素に限られるという点を除けば、document.getElementsByTagName と似ています。

+for (let cell of cells) { + let status = cell.getAttribute('data-status'); + if (status === 'open') { + // データを取得 + } +} +``` -

仕様書

+## 仕様書 -

DOM Level 2 Core: Element.getElementsByTagName

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

{{ languages( { "en": "en/DOM/element.getElementsByTagName", "es": "es/DOM/element.getElementsByTagName", "fr": "fr/DOM/element.getElementsByTagName", "pl": "pl/DOM/element.getElementsByTagName" } ) }}

+{{Compat}} diff --git a/files/ja/web/api/element/getelementsbytagnamens/index.md b/files/ja/web/api/element/getelementsbytagnamens/index.md index f0344fd357..982a51bb6b 100644 --- a/files/ja/web/api/element/getelementsbytagnamens/index.md +++ b/files/ja/web/api/element/getelementsbytagnamens/index.md @@ -1,50 +1,49 @@ --- -title: element.getElementsByTagNameNS +title: Element.getElementsByTagNameNS() slug: Web/API/Element/getElementsByTagNameNS tags: + - API - DOM - - Gecko + - Element + - メソッド + - リファレンス +browser-compat: api.Element.getElementsByTagNameNS translation_of: Web/API/Element/getElementsByTagNameNS --- -

{{ ApiRef() }}

+{{APIRef("DOM")}} -

概要

+**`Element.getElementsByTagNameNS()`** メソッドは、指定された名前空間に属する、指定されたタグ名を持つ要素の {{domxref("HTMLCollection")}} をライブで返します。これは {{Domxref("Document.getElementsByTagNameNS")}} に似ていますが、検索対象が指定された要素の子孫に限定される点が異なります。 -

与えられた名前空間に属し、与えられたタグの名前を持つ要素のリストを返します。

+## 構文 -

構文

+```js +elements = element.getElementsByTagNameNS(namespaceURI, localName) +``` -
elements = element.getElementsByTagNameNS(namespaceURI,localName)
-
+- `elements` は生きた {{domxref("HTMLCollection")}} で、ツリー内で見つかった要素を出現順に保持します。 +- `element` は検索を開始する要素です。なお、この要素の子孫は含まれますが、このノード自体は含まれません。 +- `namespaceURI` は検索する要素の名前空間 URI です({{domxref("Element.namespaceURI")}} および {{domxref("Attr.namespaceURI")}} を参照してください)。例えば、 XHTML 要素を検索する場合は、 XHTML の名前空間 URI である `http://www.w3.org/1999/xhtml` を使用してください。 +- `localName` は検索する要素のローカル名、またはすべての要素に一致する特殊な値 `"*"` です({{domxref("Element.localName")}} および {{domxref("Attr.localName")}} を参照)。 -
    -
  • elements は見付かった要素のツリーに出現した順に生きた NodeList です。
  • -
  • element は検索を始める要素です。この要素の子孫のみが検索対象になり、そのノード自身は対象になりません。
  • -
  • namespaceURI は検索される要素の名前空間 URI です(element.namespaceURI を参照)。例えば、XHTML 要素を検索する必要があるなら、XHTML の名前空間 URI http://www.w3.org/1999/xhtml を使ってください。
  • -
  • localName は探す要素のローカル名か全ての要素にマッチする特別な値 "*" のどちらかです(element.localName 参照)。
  • -
+## 例 -

- -
// XHTML 文書の table の多くのセルの配列をチェック。
+```js
+// XHTML 文書の table の多くのセルの配列をチェック。
 var table = document.getElementById("forecast-table");
 var cells = table.getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "td");
-for (var i = 0; i < cells.length; i++) {
-    axis = cells[i].getAttribute("axis");
-    if ( axis == "year") {
+
+for (var i = 0; i < cells.length; i++) {
+    var axis = cells[i].getAttribute("axis");
+    if (axis == "year") {
         // データを取得
     }
 }
-
- -

注意

- -

element.getElementsByTagNameNS は {{ Domxref("document.getElementsByTagNameNS") }} に似ていますが、指定された要素の祖先に限定されるかが異なります。

+``` -

仕様

+## 仕様書 -

DOM Level 2 Core: Element.getElementsByTagNameNS

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

{{ languages( { "en": "en/DOM/element.getElementsByTagNameNS", "fr": "fr/DOM/element.getElementsByTagNameNS", "pl": "pl/DOM/element.getElementsByTagNameNS" } ) }}

+{{Compat}} -- cgit v1.2.3-54-g00ecf