<input type="text" id="text">
<input type="button" value="change" id="change">
<div id="here">
First to change Second
<div class="additional">__RANDOM DATA FROM DATABASE__</div>
</div>
$('#change').click(function(){
var text = $('#text').val();
$('#here').html();
})
如何在两个单词之间更改文字?在此示例中,如果我单击更改按钮,则文本表单输入应替换First和Second之间的文本。 例如在输入中是:“我的新文本”然后点击后应该在div:
首先我的新文字第二
我必须只使用javascript - jquery,因为我从其他服务器接收div而且我无法修改html。
对不起 - 我编辑了我的问题。这还有其他div。
答案 0 :(得分:4)
为什么不存储前缀和后缀?
$('#change').click(function(){
var prefix = "First ";
var suffix = " Second";
var text = $('#text').val();
$('#here').html(prefix + text + suffix);
})
关注您的修改。我担心这将是正则表达式的情况。例如:
var oldHtml = $("#here").html();
var newHtml = oldHtml.replace(/First\b(.*)\bSecond/, "First " + text + " Second");
$("#here").html(newHtml);
答案 1 :(得分:1)
试试这个
$('#change').click(function(){
var text = $('#text').val();
var html = $('#here').html();
$('#here').html(html.replace(/(to change)/, text));
})
答案 2 :(得分:1)
你可以做到
$('#here').html("First "+ $('#text').val()+ "Second ");
答案 3 :(得分:0)
试试这个
var text = $('#text').val();
$("#here").text($('#here').text().replace("to change", text));
答案 4 :(得分:0)
你可以尝试这样的事情。这是一般方法。所以你应该根据需要修改它
var newText = oldText.replace(/^(\w+).*?(\w+)$/, "$1 my new text $2")
P.S。我没有仔细测试过,但一见钟情就可以了。
根据您的代码,您刚刚接到第二个字 我可以建议下一步:
var newText = oldText.replacereplace(/^(\w+).*?(\w+)(([^<]+)(<div.*))$/m, "$1 my new text $2$3")