在div中替换字符串

X10*_*0nD 7 javascript jquery replace

我想替换一个特定的字符串#TextArea1.单击按钮时会发生这种情况.

尝试使用以下代码,但无法使其工作:

$('#TextArea1').text().replace("wef","--");
Run Code Online (Sandbox Code Playgroud)

替换一个单词的正确语法是div什么?

use*_*716 14

将函数传递给返回要设置的值的text()[docs]方法:

$('#TextArea1').text(function( i, txt ) { 
    return txt.replace("wef","--"); 
});
Run Code Online (Sandbox Code Playgroud)

功能参数如下:

  • i 是迭代中当前元素的索引
  • txt 是当前元素的当前文本内容

函数返回的值将设置为当前元素的新值.

  • +1,你去.一个很好的答案徽章.:) (2认同)

She*_*hef 5

你很近,试试这个:

$('#TextArea1').text($('#TextArea1').text().replace(/wef/g,"--"));
Run Code Online (Sandbox Code Playgroud)

或者是优化的

var $textarea = $('#TextArea1');
$textarea.text($textarea.text().replace(/wef/g,"--"));
Run Code Online (Sandbox Code Playgroud)

如果它是一个textarea元素,你会这样做:

var $textarea = $('#TextArea1');
$textarea.val($textarea.val().replace(/wef/g,"--"));
Run Code Online (Sandbox Code Playgroud)


Mat*_*eer 3

replace()创建一个新字符串并返回它,因此它会被返回到稀薄的空气中。您需要获取新字符串并将其发送回文本框。这个jsfiddle展示了如何操作。

<textarea id="t">
    hello
</textarea>
Run Code Online (Sandbox Code Playgroud)
var text = $('#t').text();
text = text.replace('h', 'b');
$('#t').text(text);
Run Code Online (Sandbox Code Playgroud)