From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/ru/web/api/domtokenlist/replace/index.html | 95 ++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 files/ru/web/api/domtokenlist/replace/index.html (limited to 'files/ru/web/api/domtokenlist/replace') diff --git a/files/ru/web/api/domtokenlist/replace/index.html b/files/ru/web/api/domtokenlist/replace/index.html new file mode 100644 index 0000000000..1a9c51f16b --- /dev/null +++ b/files/ru/web/api/domtokenlist/replace/index.html @@ -0,0 +1,95 @@ +--- +title: DOMTokenList.replace() +slug: Web/API/DOMTokenList/replace +translation_of: Web/API/DOMTokenList/replace +--- +

{{APIRef("DOM")}}

+ +

Метод replace() интерфейса {{domxref("DOMTokenList")}} заменяет существующий класс на новый класс. Если первый не существует, то replace() сразу же возрващает false, без добавления нового класса в список классов.

+ +

Синтаксис

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

Параметры

+ +
+
oldToken
+
{{domxref("DOMString")}} - класс, который вы хотите заменить.
+
newToken
+
{{domxref("DOMString")}} класс, которым вы хотите заменить класс oldToken.
+
+ +

Возвращает значение

+ +

Boolean, которое будет true, если oldToken был успешно заменен, или false в противном случе.

+ +
+

Примечание: В старых браузерах replace() возвращает void.

+
+ +

Примеры

+ +

В следующем примере мы получаем список классов, установленных в элементе {{htmlelement("span")}} как DOMTokenList, используя {{domxref("Element.classList")}}. Затем мы заменяем класс в списке и записываем список в {{domxref("Node.textContent")}}, принадлежащий <span>.

+ +

В 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) }}

+ +

Полифилл

+ +

Следующий полифилл добавит метод replace в класс DOMTokenList.  Селудющий код будет работать только с 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