拆分文本并在jQuery元素中包装每个单词

Splitting text and wrapping each of the words in elements in jQuery

本文关键字:包装 单词 元素 文本 jQuery 拆分      更新时间:2023-09-26

PS:更新后的小提琴

在元素

中换行文本

这里是一个尝试使用逗号作为分隔符分割文本并在<span class="new"/>中包装每个单词的fiddle。谁能告诉我为什么它在foreach循环中给我Uncaught TypeError: undefined is not a function ?

我希望输出是

 <td>
     <span class='new'>Text</span>
     <span class='new'>that</span>
     <span class='new'>needs</span>
     <span class='new'>to</span>
     <span class='new'>be</span>
     <span class='new'>wrapped.</span>
     <span class="count">not this</span>
     <button>Wrap</button>
 </td>
代码:

$('button').click(function(){
    var wrap_it = $(this).closest('td').contents().eq(0).text();
    wrap_it = wrap_it.split(',');
    console.log(wrap_it);
    $.each(wrap_it,function(i,k){
      k.wrap('<span class="new"/>');
    })
});
HTML:

<table>
 <tbody>
   <tr>
    <td>1</td>
       <td>Text,that, needs, to, be, wrapped.<span class="count">not this</span><button>Wrap</button>
    </td>
   </tr>
   <tr>
    <td>2</td>
    <td>Text, that, needs, to, be, wrapped.<span class="count">not this</span><button>Wrap</button></td>
   </tr>
  </tbody>
</table>

我试了一下:

$('button').click(function(){    
    var text = $(this).closest('td').contents().eq(0).text().split(",");
    var keep = $(this).closest('td').find(".count");
    var button = $(this).closest('td').find('button');
       for( var i = 0, len = text.length; i < len; i++ ) {
           text[i] = '<span class="new">' + text[i] + '</span>';
       }   
    $(this).closest('td').html(text.join(' ')).append(keep).append(button);  
});

小提琴

如果适合的话请告诉我

也做了一个尝试

$('button').click(function () {
  var text = $(this).closest('td').contents().eq(0).text().split(','),
      len = text.length,
      result = []; 
for( var i = 0; i < len; i++ ) {
    result[i] = '<span class="new">' + text[i] + '</span>';
}
var keep = $(this).closest('td').find(".count"),
    button = $(this).closest('td').find('button');
$(this).closest('td').html(result.join(' ')).append(keep).append(button);   
});

小提琴:换行