0

これが私の問題です。<ul>リストから最初の10個のアイテムを取得してlist1に移動し、次の10個を取得して2番目のアイテムに移動し、3番目のアイテムも同じであるスクリプトが必要です。私はそれを使ってそれをやろうとしましたが、うまくjQuery.each()いきません。

<html>
<body>
    <ul class="list">
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
    <ul class="list1"></ul>
    <ul class="list2"></ul>
    <ul class="list3"></ul>
</body>
</html>

ここにいくつかのjavascriptがあります。固定作業です。

function SortCats(ul){
var array = [];
//var lis = $("#CatNavi li");
//for (var i = 0; lis.length; i++){
//  array.push(lis[i].html());
//  lis[i].hide();
//}
var $altlis = $("#CatNavi li");

var $cat1 = $(".supercat1");
var $cat2 = $(".supercat2");
var $cat3 = $(".supercat3");

$altlis.each(function(index){
alert("Shit happens");
    if (index < 10){
        $cat1.append($(this));
        alert("Shit happens");
    }
    else if (20 >= index > 10){
        $cat2.append($(this));
    }
    else if (index > 20){
        $cat3.append($(this));
    }
});
}
4

1 に答える 1

2

メインリスト(クラス付きlist)の最初の10個のアイテムを、クラス付きの別のリストに移動しlist1、次の10個をクラス付きのリストに移動list2します。

私はそのような解決策を提案します:

$("ul.list li").each(function(i) {
   var iList = Math.floor(i / 10) + 1;
   $("ul.list" + iList).append($("<li>" + $(this).html() + "</li>"));
})
于 2012-11-23T16:13:55.997 に答える