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

时间:2013-05-24 02:03:19

标签: javascript jquery html bookmarklet

我正在制作一个书签并且有点卡住了,我试图在一些文字周围包裹一个跨度。问题是文本中有相当数量的br s导致我头疼。

由于它是一个书签,我只能使用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>
&#13;
&#13;
&#13;

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

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

1 个答案:

答案 0 :(得分:2)

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

FIDDLE