javascript - 使用正则表达式替换类名

标签 javascript

我正在尝试将 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/

相关文章:

javascript - 允许字符串或数组作为函数的参数是一个好习惯吗?

javascript - 如何为整个 MobX 可观察数组设置新值

javascript - 从匿名 JavaScript 函数中获取变量

javascript - 自动完成 ="on"由于某些奇怪的原因无法正常工作

javascript - 从 Javascript 数组加载下拉列表并使用 angularjs 设置选定值的最简单方法

javascript - 在 script 标签的 src 中使用 document.getElementById

javascript - 如何使用 Jquery 控制下拉选择选项菜单

javascript - 递归函数以获得两个或多个的所有唯一组合

javascript - 用动画滚动到中心

javascript - 如何在Android上转换手机网页?