我正在尝试将classList.replace()
与正则表达式结合使用。我的目标是将 badge-something 之类的表达式替换为 badge-success 之类的其他值。
我已经尝试过了:
element.classList.replace(/badge-*/i, 'badge-success')
但是它返回 false ,并且什么也没有改变。我想念什么?
答案 0 :(得分:1)
Element.classList
是DOMTokenList
(不是字符串)。
DOMTokenList.replace
需要两个字符串,而不是正则表达式。第一个参数是您要替换的确切的类名。不支持模式。
如果要使用正则表达式,则需要一个字符串:
element.className = element.className.replace(/(^|\s)badge-\S+/g, '$1badge-success');
答案 1 :(得分:0)
classList.replace将字符串作为参数,所以我认为这就是为什么它不起作用的原因。 但是您可以通过稍微扭曲代码来实现目标, 重复这些步骤
。 谢谢