0

h1要素内にテキスト コンテンツがあり、最初のコンテンツより前のすべてbrspan.

ここから始めます:

<h1 class="my-heading">lorem ipsum<br />dolor sit amet<br />lorem ipsum dolor<br />sit amet</h1>

そして、これが私が終わらせたいことです:

<h1 class="my-heading"><span class="my-wrapper">lorem ipsum</span><br />dolor sit amet<br />lorem ipsum dolor<br />sit amet</h1>

4

2 に答える 2

0

Arun P Johny によって提案されたコードから始めて、ページに複数の h1 がある場合にも機能するこれを思いつきました。

jQuery('.my-heading').each(function (){
    jQuery(jQuery(this).prop('firstChild')).wrap('<span>');
});

私のためにそれをします。助けてくれてありがとう!

于 2014-09-11T11:59:10.087 に答える
0

1つの方法は

var $heading = $('.my-heading'),
    $contents = $heading.contents(),
    index = $contents.index($heading.children('br').first());
$contents.slice(0, index).wrapAll('<span>');

デモ:フィドル


ただし、前に他の要素がない場合br(つまり、最初のテキスト ノードのみをラップする必要がある場合)、

$($('.my-heading').prop('firstChild')).wrap('<span>')

デモ:フィドル

于 2014-09-11T10:25:34.983 に答える