0

我正在尝试通过 jquery 更改模块的类名,现在我有这个 RegEx

/模块-\w+/gi

以这种方式使用

//// Removes all module-xxxx classes
var classes = $target[0].className.replace(/module-\w+/gi, '');

到目前为止,这一直很好,但是我必须更改模块类的结构,使其类似于

<div class="module">
    <div class="module-header">
         <div class="module-header-content module-blue ..."></div>
    </div>
    <div class="module-content"></div>
</div>

... 只是意味着可能有其他类名。

我需要更改正则表达式,使其仅匹配module-blue(可以是 module-default、module-green、module-whatever,但始终采用module-COLORNAME的格式)而不匹配module-header-content也是。

jquery选择类名:module-header-content module-blue

4

1 回答 1

1
var classes = $target[0].className.replace(/\bmodule-\w+(?!-)\b/gi, '');

对于单词边界,表达式必须匹配整个组,module-后跟至少一个跟破折号的字母。

http://jsfiddle.net/ExplosionPIlls/WqbKJ/

于 2013-01-30T01:58:32.930 回答