如何在包含换行符的文本周围添加带有jQuery的span包?

问题描述 投票:0回答:1

我正在制作一个书签,并且有点卡住了,我正试图在一些文本周围包围。问题是文本中有相当数量的brs,这让我头疼。

由于它是一个bookmarklet,我只能使用jQuery来改变HTML。我只想将文本包装在媒体块下面(所以我可以截断它)而不是媒体块本身。

目前的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之外,还有链接,也有一个页面上的多个消息容器。

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

javascript jquery html bookmarklet
1个回答
2
投票
$('.Message').contents().filter(function(i) {
    return (this.nodeType === 3 || this.nodeName.toLowerCase() === 'br') && i!=0;
}).wrapAll('<span />');

FIDDLE

© www.soinside.com 2019 - 2024. All rights reserved.