Mam dużą listę <li> s. Chcę wybrać wszystkie <li> s po dwudziestce instancji i owinąć je w elemencie.

Nie jestem pewien, jak zebrać wszystkie <li> s po 20.

Próbowałem :gt(20) i .slice(20) bez szczęścia.

Czy ktoś wie, jak mogłem to osiągnąć?

Jak dotąd mam:

$(document).ready(function() {
    $('.js-long-menu').each(function( index ) {
        var itemLength = $(this).find('li').length;

        if(itemLength >= 20){
            var extraItems = $(this).find('li:gt(20)').html();
            $(this).parent().append("<div class='col-md-2'>" + extraItems + "</div>");
        }
    });
});
0
MeltingDog 28 październik 2020, 09:52

1 odpowiedź

Najlepsza odpowiedź

@Meltingdog Spróbuj to

$(document).ready(function() {
    $('.js-long-menu').each(function() {
        var itemLength = $(this).find('li').length;
        for(i=20;i<itemLength;i++)
        {
            var extraItems = $(this).find('li').eq(i);
            $(this).parent().append("<div class='col-md-2'>" + extraItems + "</div>");
        }
    });
});
0
Yuvraj Mule 28 październik 2020, 07:08