我正在尝试将 classList.replace()
与正则表达式一起使用。我的目标是将 badge-something 这样的表达式替换为 badge-success 这样的其他值。
我已经尝试过这个:
element.classList.replace(/badge-*/i, 'badge-success')
但它返回false并且不会改变任何东西。我错过了什么?
最佳答案
Element.classList
是一个 DOMTokenList
(不是字符串)。
DOMTokenList.replace
需要两个字符串,而不是正则表达式。第一个参数是您要替换的确切类名。不支持模式。
如果你想使用正则表达式,你需要一个字符串:
element.className = element.className.replace(/(^|\s)badge-\S+/g, '$1badge-success');
关于javascript - 使用正则表达式替换类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56914476/