1

HTML要素の2番目と3番目の単語を置き換えようとしています。

これまでのところ、これを使用して2番目の単語を置き換えることができます:

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);
});

しかし、私も3番目の単語を選択するのに苦労しています

HTML

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

何か案は?

4

2 に答える 2

2

正規表現は本当に必要ですか?

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(" "));
});

または両方を 1 つのスパンに

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(" "));
});
于 2013-08-12T18:34:52.983 に答える
0

2 番目の単語を置き換えると、3 番目の単語が 2 番目の単語になるため、効率的ではありませんが高速な解決策は、指定した関数を 2 回呼び出すことです。したがって、コードを変更したくなく、パフォーマンス効率を気にしない場合は、同じ関数を 2 回呼び出します。

于 2013-08-12T18:24:53.673 に答える