jQuery:将最后一项从UL移到新的UL

时间:2012-03-07 12:55:14

标签: jquery

我正在尝试在jQuery中创建以下内容:

我有一个项目列表(例如10)。如果项目的计数超过6,则将剩余项目(从6到10)复制到新的UL中以创建下拉菜单结构。

菜单的第一个版本是http://jsfiddle.net/ryb7T/我有10个项目。

jQuery的结果应该是:http://jsfiddle.net/hRaWt/我将显示1-6项,其余项目(子菜单)显示为新的UL。

2 个答案:

答案 0 :(得分:3)

请参阅此jQuery代码:

if ($("#main-ul li").length > 6) {
    // Too many li
    $("#main-ul")
        .append(
            $('<li>')
            .append('more')
            .append($('<ul>').append($("#main-ul li").slice(5).detach()))
            );
}

直播here

答案 1 :(得分:0)

您需要检查是否有超过6个元素并将其移动到默认隐藏的子菜单

$(function() {
    var $menuItems = $('#menu > li:visible');
    if ($menuItems.length > 6)
    {
        $('#menu > li:gt(5):not(#submenu)').appendTo('#submenu ul');
        $('#submenu').css('display', 'inline');
    }
});
​

代码:http://jsfiddle.net/hRaWt/1/