1
<div id="foo">
    <div>first row</div>
    <div>if(b<3 && b>0)</div>
    <div>third row</div>
    <div>if(b<3 && b>0)</div>
</div>

4 つの内部 div を通過するループがあります。私は現在2行目にいて、検出さifれ、スパンでラップしたいテキストを取得することもできます

var wrapCond = 'b<3 && b>0';

2行目にいることを考慮して、wrapCondの内容をラップしたかったのです。classスパン ラッピングにが割り当てられるため、2 番目のループでラップする必要があります。次のようなものでなければなりません。

<div id="foo">
    <div>first row</div>
    <div>if(<span>b<3 && b>0</span>)</div>
    <div>third row</div>
    <div>if(b<3 && b>0)</div>
</div>

JS (単なる表現)

  for( var x=0; x<inlineDiv_num; x++ ){
       var inlineDiv_num_textL = inlineDiv_num_text.length;
       for( var y=0; y<inlineDiv_num_textL; y++){

          if( /\s+if$/.test(kword_search) ){

          var kwordSyntaxSearch = sliceToEndString(x,y);
          var wrapCond = kwordSyntaxSearch.slice(kwordSyntaxSearch.indexOf('(')+1, kwordSyntaxSearch.indexOf('{')-1);

           //HERE I NEED TO WRAP wrapCond here

          }

       }
 }

コードが長すぎるため、すべてのコードを表示しませんでした。不明?コメントするだけ^^

:私は2番目のループにいますが、これが見つかった4番目のループでも発生することを望みますif

eq を使用するものが必要なので、単一ですべての置換ではなく、行でのみ置換が行われるようにします

4

1 に答える 1

1

試す:

$('#foo div').each(function (idx) {
    $(this).html($(this).text().replace(/b<3 && b>0/, '<span>b<3 && b>0</span>'));
});

jsFiddle の例

于 2013-08-31T22:48:26.017 に答える