2013-08-22 90 views
0

我與鏈接的下面量的工作並不總是相同刪除列表項,並將其添加到和無序列表

<ul> 
    <li>link 1</li> 
    <li>link 2</li> 
    <li>link 3</li> 
    <li>link 4</li> 
    <li>link 5</li> 
    <li>link 6</li> 
    <li>link 7</li> 
    <li>link 8</li> 
</ul> 

現在,當我有超過5個環節我需要刪除所有的項目超過5個鏈接,並把它們添加到一個無序列表

所以我需要得到以下

<ul> 
    <li>link 1</li> 
    <li>link 2</li> 
    <li>link 3</li> 
    <li>link 4</li> 
    <li>link 5</li> 
    <li>more+</li> 
    <ul> 
     <li>link 6</li> 
     <li>link 7</li> 
     <li>link 8</li> 
    </ul> 
</ul> 

我嘗試以下只有我的DIT不知道如何切片列表項添加到var

$('li').slice(5).remove(); 
$("ul").append("<li>More +</li> <ul><li>link 6</li></ul>"); 
+1

的可能重複[名單的UI擴展 - 少,更多](http://stackoverflow.com/questions/5050313/ul-list-expand-less-and-more) – Dom

+0

我m不願意隱藏其他項目我願意將它們添加到無序列表中

  • 鏈接5
  • Ivo

    回答

    2

    你可以這樣做:

    var slicer=$('li').size()-5; 
    var removedItems=$('li').slice("-"+slicer); 
    $("ul").append("<li>More +<ul id='moreItems'></ul></li>"); 
    $("#moreItems").append(removedItems); 
    

    slicer var獲取ul的超出元素,removedItems採用從切片器變量開始的jQuery元素。

    比你可以將它們追加到新列表。

    演示:http://jsfiddle.net/IrvinDominin/UqqJJ/

    +1

    注意這會導致無效的HTML(由於'ul'作爲'ul'的直接孩子),這可能會導致您的頁面上出現其他呈現錯誤。 –

    +0

    你是對的我會解決它 –

    1

    不要刪除切片,否則會將它從dom中刪除。首先如你所做的那樣進行切片選擇並將其分配給一個變量,然後將該變量追加到UL。然後你可以從DOM中刪除任何你想要的東西。

    var myItemsGreaterThan5 = $('li').slice(5); 
    $("ul").append("<li>More +</li>" + myItemsGreaterThan5); 
    myItemsGreaterThan5.remove(); 
    
    1

    試試這個:

    var $additionalLi = $('li').slice(5).remove(); 
    if ($additionalLi.length) { 
        $('<li />', { 'class': 'expand' }).text('More +') 
         .append($additionalLi.wrap('<ul></ul>').parent()) 
         .appendTo('ul'); 
    } 
    
    $('ul').on('click', 'li.expand', function() { 
        $('ul', this).toggle(); 
    }); 
    

    您還需要來設置兒童ul元素開始隱藏:

    ul ul { 
        display: none; 
    } 
    

    Example fiddle

    +0

    你正在分離

    我需要1與所有的「更多「li – Ivo

    +0

    這是正確的。你不能把'ul'作爲'ul'的子元素 - 只有'li'元素。因此,小孩'ul'必須放在'li'裏以保持頁面的有效性。 –

    相關問題