0

要素と通常のテキストがある場合、コンテンツの一部をラップするにはどうすればよいですか? 試してみまし.after()たが、これにより自動的に終了タグが追加されます。

私はこれを持っています:

<div class="block">
    <a href="#">example 1</a>
    .
    <a href="#">example 1</a>
    .
    <a href="#">example 1</a>
    .
    <a href="#">example 1</a>
</div>

そして、私はそれを次のように変換する必要があります:

<div class="block">
    <a href="#">example 1</a>
    <div class="wrap">
        .
        <a href="#">example 1</a>
        .
        <a href="#">example 1</a>
        .
        <a href="#">example 1</a>
    </div>
</div>
4

3 に答える 3

2
$('.block').contents().filter(function(){
   return $(this).index() > 0;
}).wrapAll('<div class="wrap"></div>');

http://jsfiddle.net/uhzsN/

于 2013-02-13T21:25:29.860 に答える
0

他の答えははるかに明確ですが、これによりいくつかの具体性が得られます

var target = $($(".block a").slice(1)); // drop 1st
var container = $("<div class='wrap' />");
container.insertBefore($(target[0]));
target.each(function () {
    $(this).appendTo(container);
});
于 2013-02-13T21:21:23.310 に答える
0
$('.block a:gt(0)').wrapAll('<div class="wrap" />');
于 2013-02-13T21:25:01.947 に答える