У меня есть таблица продуктов в корзине. Везде, где цена установлена как $ 0, я хочу изменить ее на TBC. Я использовал код следующим образом:
jQuery(document).ready(function() {
var replacedAmount = jQuery('body').html().replace('$0','TBC');
jQuery('body').html(replacedAmount);
});
Я думаю, что нужно некоторое регулярное выражение из-за $, но /$/, похоже, не делает этого.
использование
var replacedAmount = jQuery('body').html().replace(/\$0/g,'TBC');
или
jQuery(document).ready(function () {
jQuery('body').html(function(_,old_html){
return old_html.replace(/\$0/g, 'TBC');
});
});
Нецелесообразно менять весь html тела.
Вместо этого вы можете заменить html этого конкретного div/span/p и т.д., Где вы знаете, что $0
появляется
вы также можете делать, как вы говорите, в таблице
jQuery(document).ready(function () {
jQuery('table').html(function(_,old_html){
return old_html.replace(/\$0/g, 'TBC');
});
});
Вам нужно использовать глобальный флаг:
var replacedAmount = jQuery('body').html().replace(/\$0/g,'TBC');
Смотрите также:
Дополнительная информация о JS regex
Однако это, вероятно, не самый лучший подход. Если вы знаете конкретные элементы, например, вы упоминаете таблицу, явно выделите эти элементы и замените их, а не на всю страницу html.