我想替换#TextArea1
中的特定字符串。单击按钮时会发生这种情况。
使用以下代码尝试使用,但无法使其正常工作:
$('#TextArea1').text().replace("wef","--");
替换div
中的单词的正确语法是什么?
答案 0 :(得分:14)
将函数传递给返回您想要设置的值的text()
[docs]方法:
$('#TextArea1').text(function( i, txt ) {
return txt.replace("wef","--");
});
功能参数如下:
i
是迭代中当前元素的索引txt
是当前元素的当前文本内容从函数返回的值将被设置为当前元素的新值。
答案 1 :(得分:5)
你很亲密,试试这个:
$('#TextArea1').text($('#TextArea1').text().replace(/wef/g,"--"));
或优化的
var $textarea = $('#TextArea1');
$textarea.text($textarea.text().replace(/wef/g,"--"));
如果它是textarea
元素,您可以这样做:
var $textarea = $('#TextArea1');
$textarea.val($textarea.val().replace(/wef/g,"--"));
答案 2 :(得分:4)
您还设置了文字:
var text = $('#TextArea1').text().replace("wef","--");
$('#TextArea1').text(text);
或使用函数:
$('#TextArea1').text(function(index, text) {
return text.replace("wef","--");
});
注意:如果这是<textarea>
,请使用val()
代替text()
。
var text = $('#TextArea1').val().replace("wef","--");
$('#TextArea1').val(text);
答案 3 :(得分:3)
replace()
创建一个新字符串并将其返回,因此它会变得稀薄。您需要获取新字符串并将其发送回文本框。这个jsfiddle显示了如何。
<textarea id="t">
hello
</textarea>
var text = $('#t').text();
text = text.replace('h', 'b');
$('#t').text(text);