0
我有2個div對象。我如何將這些包裹在另一個div中?我不能只使用$('.one, .two, .three').wrapAll('<div class="wrap">')
,因爲所有的小盒子都是動態的,可以有多個。我只想將其中的2個包裝成一個。jQuery將新div中的2個div對象包裝起來
HTML:
<div class="grid">
<div class="grid-item item1"></div>
<div class="grid-item item2 small-box"></div>
<div class="grid-item item3 small-box"></div>
<div class="grid-item item4"></div>
<div class="grid-item item2 small-box"></div>
<div class="grid-item item3 small-box"></div>
</div>
的jQuery:
function small_box_modify(){
var $box = $('.grid > .grid-item');
var $small_box = $('.grid > .small-box');
$small_box.each(function (index) {
var $this = $(this);
if($this.hasClass('small-box')){
var $nxt = $this.next('.grid-item');
if($nxt.hasClass('small-box')){
// here I want to wrap "$this" and "$nxt" inside new div
// $($this, $nxt).wrapAll('<div class="wrapper">');
}
}
});
}
結果HTML:
<div class="grid">
<div class="grid-item item1"></div>
<div class="wrapper">
<div class="grid-item item2 small-box"></div>
<div class="grid-item item3 small-box"></div>
</div>
<div class="grid-item item4"></div>
<div class="wrapper">
<div class="grid-item item2 small-box"></div>
<div class="grid-item item3 small-box"></div>
</div>
</div>
不要你需要提供和數組'$()'做這樣?否則'$ nxt'將被視爲上下文。 – prodigitalson
此外,我不認爲需要有一個'slice'調用 - 它應該返回一個包含'$ this'一個新的'jQuery'對象和'$ nxt'所以沒有必要切,你就應該能夠調用'wrapAll '在上面。 – prodigitalson