DOMTokenList.replace() - Web APIs 编辑
The replace()
method of the DOMTokenList
interface replaces an existing token with a new token. If the first token doesn't exist, replace()
returns false
immediately, without adding the new token to the token list.
Syntax
tokenList.replace(oldToken, newToken);
Parameters
oldToken
- A
DOMString
representing the token you want to replace. newToken
- A
DOMString
representing the token you want to replaceoldToken
with.
Return value
A boolean value, which is true
if oldToken
was successfully replaced, or false
if not.
Note: In older browsers, replace()
returns void.
Examples
In the following example we retrieve the list of classes set on a <span>
element as a DOMTokenList
using Element.classList
. We then replace a token in the list, and write the list into the <span>
's Node.textContent
.
First, the HTML:
<span class="a b c"></span>
Now the 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';
}
The output looks like this:
Polyfill
The following polyfill will add the replace method to the DOMTokenList
class. The following code will only work with IE10-11. To use with earlier versions of IE, refer to the polyfill at element.classList#Polyfill
DOMTokenList.prototype.replace = function (a, b) {
if (this.contains(a)) {
this.add(b);
this.remove(a);
return true;
}
return false;
}
Specifications
Specification | Status | Comment |
---|---|---|
DOM The definition of 'replace()' in that specification. | Living Standard | Initial definition |
Browser compatibility
BCD tables only load in the browser
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论