这行不通,我非常需要它
$('some+multi+word+string').replace('+', ' ' );
总是
some multi+word+string
它总是只替换第一个实例,但我需要它为所有的+符号工作。
这行不通,我非常需要它
$('some+multi+word+string').replace('+', ' ' );
总是
some multi+word+string
它总是只替换第一个实例,但我需要它为所有的+符号工作。
你需要使用一个正则表达式,这样你就可以指定全局(g)标志:
var s = 'some+multi+word+string'.replace(/\+/g, ' ');
(我删除了字符串周围的$(),因为replace不是jQuery方法,所以这根本不起作用。)
RegEx在大多数情况下是可行的。
在某些情况下,指定更多的元素或指定特定的元素来执行替换可能更快:
$(document).ready(function () {
$('.myclass').each(function () {
$('img').each(function () {
$(this).attr('src', $(this).attr('src').replace('_s.jpg', '_n.jpg'));
})
})
});
这对每个字符串进行一次替换,但它使用更特定的选择器。