假设正则表达式是最好的方法,我想选择第一个单词:
<div class="name">Bob Marley</div>
Run Code Online (Sandbox Code Playgroud)
并用它来替换这个div标签中的第二个单词:
<div class="message">Hey friend, how are you?</div>
Run Code Online (Sandbox Code Playgroud)
所以最终结果等于:
<div class="message">Hey Bob, how are you?</div>
Run Code Online (Sandbox Code Playgroud)
更新
这是我实际代码的混合体.我注意到,当它运行时,它只是将jquery文本放入我的文本区域而不是实际执行该函数.这可能是因为我从需要val()的输入中提取而不是像上面示例所示的div标签中的文本.
$(".me_signup .name").bind("mouseup keyup", function(){
$(this).siblings('.message').text(function(i,txt) {
var name = $(this).val().split(' ')[0];
return txt.replace('friend', name);
});
});
Run Code Online (Sandbox Code Playgroud)
这将创建一个文本区域,并在其中写入
function (i, txt) {
var name = $(this).val().split(" ")[0];
return txt.replace("friend", name);
}
Run Code Online (Sandbox Code Playgroud)
你应该能够没有正则表达式.
示例: http ://jsfiddle.net/2R5kA/
$('div.message').text(function(i,txt) {
var name = $('div.name').text().split(' ')[ 0 ];
return txt.replace( 'friend', name );
});
Run Code Online (Sandbox Code Playgroud)
如果名称之前可能存在一些前导空格,那么首先使用jQuery的$.trim()方法.
示例: http ://jsfiddle.net/2R5kA/1/
$('div.message').text(function(i,txt) {
var name = $.trim($('div.name').text()).split(' ')[0];
return txt.replace( 'friend', name );
});
Run Code Online (Sandbox Code Playgroud)