我有一个HTML:
<input id="replace"></input>
<div id="replacepls">Go!</div>
<br>
<textarea id="text" name="text"></textarea>
和那里的一些js代码:
$('textarea[name=text]').val('Hello my dear friend, i love u');
$('#replacepls').click(function(){
var news = $('#replace').val();
var text = $(this).text();
$(this).text(text.replace('friend', news));
});
如何在按钮点击的输入中将textarea中的单词“friend”替换为其他单词?为什么我的代码不起作用?谢谢。
答案 0 :(得分:2)
你需要使用val()而不是text()和textarea
,$(this).text()将为你提供带有文本Go的div
文本而不是textarea
中的文本{1}}
<强> Live Demo 强>
$('textarea[name=text]').val('Hello my dear friend, i love u');
$('#replacepls').click(function () {
var news = $('#replace').val();
var text = $('#text').val();
$('#text').val(text.replace('friend', news));
});
答案 1 :(得分:1)
您需要使用val()
代替text()
,我还需要简化您的代码
$('#replacepls').click(function () {
$("#text").val(function (i, val) {
return val.replace('friend', $('#replace').val())
});
})
<强> Fiddle 强>
答案 2 :(得分:0)
替换$(this).text(text.replace('friend', news));
使用:
$(this).text($("#text").val().replace('friend', news));