我正在制作一个书签并且有点卡住了,我试图在一些文字周围包裹一个跨度。问题是文本中有相当数量的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  
</div>
&#13;
我应该提到,除了br之外,还有一些链接,也是一个页面上的多个消息容器。
该消息也是可变长度,其用户生成
答案 0 :(得分:2)
$('.Message').contents().filter(function(i) {
return (this.nodeType === 3 || this.nodeName.toLowerCase() === 'br') && i!=0;
}).wrapAll('<span />');