查找并替换文本jquery

时间:2015-06-09 14:45:46

标签: javascript jquery html

我有一个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)); 

});

http://jsfiddle.net/j1ksrdcp/

如何在按钮点击的输入中将textarea中的单词“friend”替换为其他单词?为什么我的代码不起作用?谢谢。

3 个答案:

答案 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));