Nat*_*tte 7 html javascript jquery
我试图将多个相同的类div包装成div并跳过不具有相同类的div..wrap不会将它们组合在一起,而.wrapAll会抛出下面的非类别div.我一直在尝试创建一个替代解决方案,但无济于事.
原版的
<div class="entry">Content</div>
<div class="entry">Content</div>
<div class="entry">Content</div>
<div>Skip in wrap</div>
<div class="entry">Content</div>
<div class="entry">Content</div>
<div class="entry">Content</div>
continued...
Run Code Online (Sandbox Code Playgroud)
想要的结果
<div>
<div class="entry">Content</div>
<div class="entry">Content</div>
<div class="entry">Content</div>
</div>
<div>Skip in wrap</div>
<div>
<div class="entry">Content</div>
<div class="entry">Content</div>
<div class="entry">Content</div>
</div>
Run Code Online (Sandbox Code Playgroud)
您可以使用循环快速循环遍历<div>元素for.在下面的代码中,只需更改初始选择器以获取所有兄弟姐妹div,例如#content > div.entry或者无论他们在哪里:
var divs = $("div.entry");
for(var i=0; i<divs.length;) {
i += divs.eq(i).nextUntil(':not(.entry)').andSelf().wrapAll('<div />').length;
}?
Run Code Online (Sandbox Code Playgroud)
你可以在这里尝试一下.我们只是循环,.entry <div>元素.nextUntil()用于获取所有.entry元素,直到有一个非.entry使用:not()选择器.然后我们将接下来的元素,加上我们开始的那个元素(.andSelf())并.wrapAll()在该组上做一个.在它们被包裹之后,我们正在向前跳过循环中的许多元素.
| 归档时间: |
|
| 查看次数: |
3633 次 |
| 最近记录: |