我想针对$(".item:eq(1)")之后所有在<ul class="items">中的元素,这应该包括<li class="category">,然后将它们添加到<ul class="items-2">中
原始树:
<ul class="items">
<li class="category">
<h1>Title 1</h1>
<ul>
<li class="item">item 1</li>
<li class="item">item 2</li>
<li class="item">item 3</li>
</ul>
</li>
<li class="category">
<h1>Title 2</h1>
<ul>
<li class="item">item 4</li>
<li class="item">item 5</li>
<li class="item">item 6</li>
</ul>
</li>
</ul>
<ul class="items-2></ul>辅助信息
最后,我试图将<ul class="items>限制为x项。如果列的内容超过x,我希望它将其移动到下一个<ul class="items-2">
我看到这比我原先想的要复杂得多,但这是一棵预期的树:
<ul class="items">
<li class="category">
<h1>Title 1</h1>
<ul>
<li class="item">item 1</li>
</ul>
</li>
</ul>
<ul class="items-2>
<li class="category">
<ul>
<li class="item">item 2</li>
<li class="item">item 3</li>
</ul>
</li>
<li class="category">
<h1>Title 2</h1>
<ul>
<li class="item">item 4</li>
<li class="item">item 5</li>
<li class="item">item 6</li>
</ul>
</li>
</ul>发布于 2014-07-07 22:49:42
不确定这是否是您要寻找的内容,但是您可以像常规数组那样splice一个jQuery对象:
var all = $('.item');
var thirdOnwards = all.splice(2);
$('.items-2').append(thirdOnwards);http://jsfiddle.net/rvM8q/
发布于 2014-07-07 22:51:14
如果您由于某种原因不能使用splice,下面是另一种选择:
var ignoreUntil = $(".item:eq(1)")[0];
var result = $(".item").filter(function() {
if (this == ignoreUntil) {
ignoreUntil = null;
return false;
}
return !ignoreUntil;
});发布于 2014-07-07 22:54:06
可以在选择器中使用gt函数,如下所示:
$(".item:gt(1)")然后,您可以继续添加jQuery每个:
$(".item:gt(1)").each(function(){
$('.items-2').append($(this).clone());
});小提琴
更新的小提琴到操作操作更改的需求:更新小提琴
https://stackoverflow.com/questions/24620920
复制相似问题