From 7ce68172263eecf6b0057a40e313f719bb8e24c6 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 18 Apr 2021 00:30:14 +0900 Subject: DOMTokenList.replace() を新規翻訳 (#423) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 2021/02/20 時点の英語版に基づき新規翻訳 --- files/ja/web/api/domtokenlist/replace/index.html | 98 ++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 files/ja/web/api/domtokenlist/replace/index.html (limited to 'files/ja/web/api/domtokenlist') diff --git a/files/ja/web/api/domtokenlist/replace/index.html b/files/ja/web/api/domtokenlist/replace/index.html new file mode 100644 index 0000000000..692edd3a24 --- /dev/null +++ b/files/ja/web/api/domtokenlist/replace/index.html @@ -0,0 +1,98 @@ +--- +title: DOMTokenList.replace() +slug: Web/API/DOMTokenList/replace +tags: +- API +- DOM +- Document +- Method +- Reference +translation_of: Web/API/DOMTokenList/replace +--- +

{{APIRef("DOM")}}

+ +

replace() は {{domxref("DOMTokenList")}} インターフェイスのメソッドで、既存のトークンを新しいトークンで置き換えます。最初のトークンが存在しない場合、 replace() はすぐに false を返し、トークンリストに新しいトークンを追加しません。

+ +

構文

+ +
tokenList.replace(oldToken, newToken);
+ +

引数

+ +
+
oldToken
+
{{domxref("DOMString")}} で、置き換えたいトークンを表します。
+
newToken
+
{{domxref("DOMString")}} で、 oldToken を置き換えたいトークンを表します。
+
+ +

返値

+ +

論理値で、 trueoldToken の置き換えに成功した場合で、 false はそれ以外の場合です。

+ +
+

: 古いブラウザーでは、 replace() は void を返します。

+
+ +

+ +

以下の例では、 {{htmlelement("span")}} 要素に設定されたクラスのリストを DOMTokenList として受け取るのに {{domxref("Element.classList")}} を使用しています。それからリスト内のトークンを置き換え、リストを <span> の {{domxref("Node.textContent")}} に書き込みます。

+ +

最初に HTML です。

+ +
<span class="a b c"></span>
+ +

そして JavaScript です。

+ +
let span = document.querySelector("span");
+let classes = span.classList;
+
+let result = classes.replace("c", "z");
+console.log(result);
+
+if (result) {
+  span.textContent = classes;
+} else {
+  span.textContent = 'token not replaced successfully';
+}
+ +

出力結果は以下のようになります。

+ +

{{ EmbedLiveSample('Examples', '100%', 60) }}

+ +

ポリフィル

+ +

次のポリフィルは DOMTokenList クラスに replace メソッドを追加します。次のコードは IE10-11 でのみ動作します。もっと古いバージョンの IE で使用するには、 {{domxref("element.classList#Polyfill")}} のポリフィルを参照してください。

+ +
DOMTokenList.prototype.replace = function (a, b) {
+    if (this.contains(a)) {
+        this.add(b);
+        this.remove(a);
+        return true;
+    }
+    return false;
+}
+ +

仕様書

+ + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName('DOM WHATWG','#dom-domtokenlist-replace','replace()')}}{{Spec2('DOM WHATWG')}}初回定義
+ +

ブラウザーの互換性

+ +

{{Compat("api.DOMTokenList.replace")}}

-- cgit v1.2.3-54-g00ecf