Jquery替换第二个和第三个单词

Jquery替换第二个和第三个单词,jquery,regex,Jquery,Regex,我试图替换html元素中的第二个和第三个单词 到目前为止,我可以用这个词替换第二个词: jQuery("article#box-1 h2.join-box-head").each(function(i, v){ newHTML = jQuery(this).html() .replace(/\s(.*?)\s/,'<span class="error">$1 </span>') jQuery(this).html(newHTML); }); jQuery(“

我试图替换html元素中的第二个和第三个单词

到目前为止,我可以用这个词替换第二个词:

jQuery("article#box-1 h2.join-box-head").each(function(i, v){
  newHTML = jQuery(this).html()
  .replace(/\s(.*?)\s/,'<span class="error">$1 </span>')
  jQuery(this).html(newHTML);
});
jQuery(“文章#方框-1 h2.连接方框标题”)。每个(功能(i,v){
newHTML=jQuery(this.html())
.replace(/\s(.*?\s/,“$1”)
jQuery(this.html)(newHTML);
});
但是我也很难选择第三个词

HTML

<article id="box-1">
    <h2 class="join-box-head">JOIN WITH YOUR FAMILY</h2>
    </article>

加入你的家庭

有什么想法吗?

一个效率不高但速度快的解决方案是调用您提供的function两次,因为当您替换第二个单词时,第三个单词就变成了第二个单词。因此,如果您不想对代码进行任何更改,也不关心性能效率,请调用同一个函数两次。

真的需要regex吗

jQuery("article#box-1 h2.join-box-head").each(function(i, v){
    var newHTML = jQuery(this).html().split(" ");
    for (var i = 1; i < 3; i++)
        newHTML[i] = '<span class="error">' + newHTML[i] + '</span>';
    jQuery(this).html(newHTML.join(" "));
});
jQuery(“文章#方框-1 h2.连接方框标题”)。每个(功能(i,v){
var newHTML=jQuery(this.html().split(“”);
对于(变量i=1;i<3;i++)
newHTML[i]=''+newHTML[i]+'';
jQuery(this.html)(newHTML.join(“”);
});
或者两者都在一个跨度内

jQuery("article#box-1 h2.join-box-head").each(function(i, v){
    var newHTML = jQuery(this).html().split(" ");
    newHTML[1] = '<span class="error">' + newHTML[1];
    newHTML[2] = newHTML[2] + '</span>';
    jQuery(this).html(newHTML.join(" "));
});
jQuery(“文章#方框-1 h2.连接方框标题”)。每个(功能(i,v){
var newHTML=jQuery(this.html().split(“”);
newHTML[1]=''+newHTML[1];
newHTML[2]=newHTML[2]+'';
jQuery(this.html)(newHTML.join(“”);
});

你能提供你的HTML吗?我更新了我的问题。问题是它将替换词嵌套在那里,不管怎样,还是要将两个词添加到一个跨距中?