jQuery替换文本不起作用

时间:2012-11-01 12:12:44

标签: jquery replace

我正在使用此方法来查找和替换一段文本而不确定它为什么不起作用?当我使用console.log时,我可以看到我想要替换的正确内容,但最终结果不起作用:

(function($) {
  $(document).ready( function() {
        var theContent = $(".transaction-results p").last();
        console.log(theContent.html());
        theContent.html().replace(/Total:/, 'Total without shipping:');
    });
})(jQuery);

有什么想法吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

字符串已被替换,但您没有将字符串重新分配给元素的html。使用return

theContent.html(function(i,h){
    return h.replace(/Total:/, 'Total without shipping:');
});

JS Fiddle demo(由diEcho友情提供)。

参考文献:

答案 1 :(得分:0)

(function($) {
  $(document).ready( function() {
        var theContent = $(".transaction-results p").last();
        console.log(theContent.html());
        theContent.html(theContent.html().replace('Total:', 'Total without shipping:'));
    });
})(jQuery);

为什么你像普通字符串一样/Total:/而不是'Total'

- 来自@David Thomas的解决方案。

答案 2 :(得分:0)

您需要在字符串中添加:以进行搜索,并将其分配回内容的html

<强> Live Demo

  $(document).ready( function() {
        var theContent = $(".transaction-results p").last();
        console.log(theContent.html());
        theContent.html(theContent.html().replace(/Total/, 'Total without shipping:'));
  });