2

jQuery .wrap() 関数を使用して、特定の開始点と終了点から html タグの範囲を div で囲みたいと思います。たとえば、現在の HTML ドキュメントは次のようになります。

私の現在のHTML構造:

<div class="single-post">
    <img src="" />
    <p></p>
    <p></p>
    <blockquote></blockquote>
    <p></p>
</div>

上記の要素を「new」のクラスで div でラップしたいと思います。

<p></p>
<p></p>
<blockquote></blockquote>
<p></p>

実際、これは私の最終結果が次のようになるはずです。

<div class="single-post">
    <img src="" />
    <div class="new">
        <p></p>
        <p></p>
        <blockquote></blockquote>
        <p></p>
    </div>
</div>
4

2 に答える 2

3

わかりました、 img が常に孤独なレンジャーであると仮定すると、次のようなことができます:

jQuery:

$('.single-post > img').siblings().wrapAll('<div class="new" />');

次のようなこともできます

$('.single-post').children(':not(.exclude)').wrapAll('<div class="new" />');
于 2013-01-22T07:32:22.080 に答える
1

内部の最初の子<div class="single-post">を常にスキップする必要がある場合:

$('.single-post')
    .children()
    .slice(1)
    .wrapAll('<div class="new" />');

ここで、最初の引数 to.slice()は開始点 (2 番目の要素) を示します。2 番目の引数を使用して終点を指定することもできます。

.slice(1, 4) // will select elements 2 and 3

終点からの位置を意味するために、始点と終点を負にすることができます

以下も参照してください。jQuery.slice()

于 2013-01-22T08:01:38.703 に答える