JQuery - заменить все экземпляры символа в строке Это не работает, и мне это нужно плохо $('some+multi+word+string').replace('+', ' ' ); всегда получает some multi+word+string он всегда заменяет только для первого экземпляра, но мне нужно, чтобы он работал для всех символов +. Ответ 1 Вам нужно использовать регулярное выражение, чтобы вы могли указать глобальный (g) флаг: var s = 'some+multi+word+string'.replace(/\+/g, ' '); (я удалил $() вокруг строки, так как replace не является методом jQuery, поэтому он не будет работать вообще.) Ответ 2 'some+multi+word+string'.replace(/\+/g, ' '); ^^^^^^ 'g' = "global" Приветствия Ответ 3 RegEx - это способ пойти в большинстве случаев. В некоторых случаях может быть быстрее указать больше элементов или конкретного элемента для выполнения замены: $(document).ready(function () { $('.myclass').each(function () { $('img').each(function () { $(this).attr('src', $(this).attr('src').replace('_s.jpg', '_n.jpg')); }) }) }); Это заменяет один раз на каждую строку, но делает это с использованием более конкретного селектора.
Ответ 1 Вам нужно использовать регулярное выражение, чтобы вы могли указать глобальный (g) флаг: var s = 'some+multi+word+string'.replace(/\+/g, ' '); (я удалил $() вокруг строки, так как replace не является методом jQuery, поэтому он не будет работать вообще.)
Ответ 3 RegEx - это способ пойти в большинстве случаев. В некоторых случаях может быть быстрее указать больше элементов или конкретного элемента для выполнения замены: $(document).ready(function () { $('.myclass').each(function () { $('img').each(function () { $(this).attr('src', $(this).attr('src').replace('_s.jpg', '_n.jpg')); }) }) }); Это заменяет один раз на каждую строку, но делает это с использованием более конкретного селектора.