jQuery заменит все экземпляры $ 0 на странице

0

У меня есть таблица продуктов в корзине. Везде, где цена установлена как $ 0, я хочу изменить ее на TBC. Я использовал код следующим образом:

    jQuery(document).ready(function() {
        var replacedAmount = jQuery('body').html().replace('$0','TBC');
        jQuery('body').html(replacedAmount);
    });

Я думаю, что нужно некоторое регулярное выражение из-за $, но /$/, похоже, не делает этого.

Теги:

2 ответа

2
Лучший ответ

использование

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 тела.

Вместо этого вы можете заменить html этого конкретного div/span/p и т.д., Где вы знаете, что $0 появляется

вы также можете делать, как вы говорите, в таблице

jQuery(document).ready(function () {
    jQuery('table').html(function(_,old_html){
        return old_html.replace(/\$0/g, 'TBC');
    });
});
1

Вам нужно использовать глобальный флаг:

var replacedAmount = jQuery('body').html().replace(/\$0/g,'TBC');

Смотрите также:
Дополнительная информация о JS regex

Однако это, вероятно, не самый лучший подход. Если вы знаете конкретные элементы, например, вы упоминаете таблицу, явно выделите эти элементы и замените их, а не на всю страницу html.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню