如何使用jQuery在有换行符的文本周围添加span换行

How to add a span wrap with jQuery around text that has line breaks in it?

本文关键字:周围 文本 添加 span 换行 换行符 何使用 jQuery      更新时间:2023-09-26

我正在制作一个bookmarklet,并且已经得到了一点卡住,我试图围绕一些文本包装一个跨度。问题是文本中有相当数量的br,这让我很头疼。

因为它是一个书签,我只能用jQuery来改变HTML。我只想在mediablock下面换行文本(这样我就可以截断它),而不是mediablock本身。

当前HTML结构如下:

<div class="Message">
  <div class="MediaBlock">
    <h2>name</h2>
  </div>
  This is the text
  <br> I want to wrap
  <br> With a span, class more &nbsp
</div>

我应该提到的是,除了br之外,还有链接,而且它们在一个页面上有多个消息容器。

消息也是可变长度的,其由用户生成

$('.Message').contents().filter(function(i) {
    return (this.nodeType === 3 || this.nodeName.toLowerCase() === 'br') && i!=0;
}).wrapAll('<span />');

小提琴