jQuery -替换字符串中某个字符的所有实例

这行不通,我非常需要它

$('some+multi+word+string').replace('+', ' ' );

总是

some multi+word+string

它总是只替换第一个实例,但我需要它为所有的+符号工作。

544244 次浏览

你需要使用一个正则表达式,这样你就可以指定全局(g)标志:

var s = 'some+multi+word+string'.replace(/\+/g, ' ');

(我删除了字符串周围的$(),因为replace不是jQuery方法,所以这根本不起作用。)

'some+multi+word+string'.replace(/\+/g, ' ');
^^^^^^

'g' = "global"

干杯

RegEx在大多数情况下是可行的。

在某些情况下,指定更多的元素或指定特定的元素来执行替换可能更快:

$(document).ready(function () {
$('.myclass').each(function () {
$('img').each(function () {
$(this).attr('src', $(this).attr('src').replace('_s.jpg', '_n.jpg'));
})
})
});

这对每个字符串进行一次替换,但它使用更特定的选择器。