JavaScript如何替换圆括号及其内部的可变文本?
解决圆括号及其内部内容的替换问题
你当前的正则/\(|\)/g只会单独移除左、右括号,没法处理括号里的可变文本。要一次性删掉括号及其内部所有内容,只需把正则改成**/\([^)]*\)/g**即可。
修改后的完整代码:
$('.myclass').children().each(function () { $(this).html(function (i, html) { return html.replace('mytext', '').replace(/\([^)]*\)/g, ''); }); });
正则说明:
\(:匹配左括号(转义是因为括号在正则里属于特殊语法字符)[^)]*:匹配任意数量的非右括号字符,确保只会匹配到当前一对括号内的内容,不会跨括号匹配\):匹配右括号g:全局模式,会替换所有符合条件的括号内容,而不是只替换第一个
另外注意:你的选择器$('myclass')如果是要选中类名为myclass的元素,应该改成$('.myclass')(类选择器需要加.)。
内容的提问来源于stack exchange,提问作者druplash
相关产品推荐
相关产品推荐

