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