0

我的购物车中有一张产品表。无论价格设置为 0 美元,我都想将其更改为 TBC。我使用的代码如下:

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

我认为由于 $ 但 /$/ 似乎没有这样做,因此需要一些正则表达式。

4

2 回答 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()

更改 body 的整个 html 不是一个好主意。

相反,您可以替换您知道$0出现的特定 div/span/p 等的 html

你也可以按照你说的做

jQuery(document).ready(function () {
    jQuery('table').html(function(_,old_html){
        return old_html.replace(/\$0/g, 'TBC');
    });
});
于 2013-10-02T01:16:52.187 回答
1

您需要使用全局标志:

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

另请参阅:
有关 JS 正则表达式的更多信息

但是,这可能不是最好的方法。如果您知道特定元素,例如您提到了一个表格,请明确选择这些元素并在那里进行替换,而不是在整个页面的 html 上进行替换。

于 2013-10-02T01:16:17.377 回答