我在h1
元素中包含文字内容,并且我希望将第一个br
之前的所有内容包装到span
。
这是我的开始:
<h1 class="my-heading">lorem ipsum<br />dolor sit amet<br />lorem ipsum dolor<br />sit amet</h1>
&#13;
以下是我想结束的事情:
<h1 class="my-heading"><span class="my-wrapper">lorem ipsum</span><br />dolor sit amet<br />lorem ipsum dolor<br />sit amet</h1>
&#13;
答案 0 :(得分:0)
一种方式是
var $heading = $('.my-heading'),
$contents = $heading.contents(),
index = $contents.index($heading.children('br').first());
$contents.slice(0, index).wrapAll('<span>');
演示:Fiddle
但是如果在br
之前不存在任何其他元素(即你只需要包装第一个文本节点)那么
$($('.my-heading').prop('firstChild')).wrap('<span>')
演示:Fiddle
答案 1 :(得分:0)
从Arun P Johny建议的代码开始,我想出了这个,如果你的页面中有几个h1,它也会起作用:
jQuery('.my-heading').each(function (){
jQuery(jQuery(this).prop('firstChild')).wrap('<span>');
});
对我而言。谢谢你帮助我!