【问题标题】:The .replace() method does change the string in place.replace() 方法确实改变了字符串
【发布时间】:2016-07-07 20:24:48
【问题描述】:

我只是尝试使用.replace() 方法。而且它不起作用。

HTML:

<div class="try"> </div>

JS:

var valr='r';
valr.replace('r', 't');
$('.try').prepend('<div> ' + valr + '</div>');

结果:我得到'r',而我想得到't'

知道为什么它不起作用吗?

【问题讨论】:

  • 来自MDN docs 这个方法不会改变它被调用的String对象。它只是返回一个新字符串。

标签: javascript jquery


【解决方案1】:

replace()(一个 JavaScript 函数,不是 jQuery)返回一个字符串,试试这个:

var valr='r';
valr = valr.replace('r', 't');
$('.try').prepend('<div> '+valr+'</div>');

Docs for .replace() are here

【讨论】:

  • @JulietteDupuis 没有问题 - 当您遇到此类问题时,请查看 MDN - 所有 JavaScript 函数都记录在那里
【解决方案2】:

变量被替换后需要保存

valr = valr.replace('r','t'); 

【讨论】:

    【解决方案3】:

    首先replace 不是 jQuery 方法 - 它是纯 javascript。其次,它返回一个新的字符串实例,所以你需要:

    valr = valr.replace('r', 't');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 2017-10-19
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多