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>

我有通过四个内部 div 的循环。我目前在第二行内并检测到if并且还能够获取我想要包含在 span 中的文本

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

考虑到我在第二行,我想包装 wrapCond 的内容。我需要在第二个循环中包装它,因为我将为class跨度包装分配一个。它必须是这样的:

<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

          }

       }
 }

我没有显示我所有的代码,因为它太长了。不清楚?只是评论^^

注意:我在第二个循环,但我希望这也发生在它发现的第四个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 回答