如何在div中的gfield_html下包装所有li。
目前我们正在使用它:
$('.gfield_html').each(function(i, e) {
$(e).nextUntil('.gfield_html').wrapAll('<div class="box"></div>');
});
但第二节被包裹在div中,它是一个标题,所以我们不希望这是一个包装。
这是结构
<li class="gsection">test</li>
<li class="gfield_html">test</li>
<li>test</li>
<li>test</li>
<li class="gsection">test2</li>
<li class="gfield_html">test2</li>
<li>test2</li>
<li>test2</li>
答案 0 :(得分:0)
如果您只想在gfield_html
和gsection
之间仅包装元素,那么您可以这样做
$('li.gfield_html').each(function(){
var $set = $();
var nxt = this.nextSibling;
while(nxt) {
if(!$(nxt).is('li.gsection')) {
$set.push(nxt);
nxt = nxt.nextSibling;
} else break;
}
console.log($set.wrapAll('<div class="wrapper" />'));
});
<强> DEMO 强>