2010-02-18 164 views
1

怎麼了偷看的休息..jQuery的UL許多李項分隔到UL與李項

可以說,我有30項立

<ul class="column"> 
    <li>portfolio items 1</li> 
    <li>portfolio items 2</li> 
    ... 
    <li>portfolio items 29</li> 
    <li>portfolio items 30</li> 
</ul> 

我需要的jQuery採取了UL李項目從10到一個新的ul列,如果可能從20到第三列

所以如果我的ul列表有30個li項目,它將只有10個,並且與其餘的li項目創建一個新的ul coumn。什麼,我試圖做

例子是我的投資組合 http://www.missionandromeda.com

我正在basicly遷移至WordPress和我必須有1個UL內的所有條目中。會很容易,如果我只有1列,但我的設計需要4 =/

謝謝! (;

+1

你真的需要的符咒,並在你的投資組合語法檢查複印 – adamse 2010-02-18 13:48:25

+1

該投資組合目前的草案級別,我將解決語法問題。 不要稱語法警察還好嗎? (: – Nissan 2010-02-19 09:30:53

回答

0

試試這個它假定新的上行線路需要動態地創建

UPDATE:創建assignes類版本,並在所有不分配ID

$('document').ready(function() { 
    var i = 0; 
    var $newUL; 
    var $theColumn = $('.column'); 
    var length = $theColumn.children('li').length; 
    while(length > 10) { 
    $newUL = $('<ul class="' + $theColumn.attr('class') + '"></ul>'); 
    while(i < 10) { 
     $theColumn.children('li').eq(10).appendTo($newUL) 
     i++; 
     length--; 
    } 
    $('body').append($newUL); 
    i = 0; 
    } 
}); 

這裏的另一種方式做到這一點(這一次的類名是硬編碼的,但它並不需要是):

$(document).ready(function() { 
    var $newUL; 
    while($('.column:last').children('li').length > 10) { 
     $newUL = $('<ul class="column"></ul>'); 
     $('.column:last').children('li').slice(10).appendTo($newUL); 
     $newUL.appendTo('body'); 
    } 
}); 
+0

差不多完美, 我需要ul的創建className而不是id長度。 再次感謝 – Nissan 2010-02-20 06:25:12

+0

是的,我只是使用長度作爲一個快速和簡單的ID雖然我不知道你的意思*由className *創建如果你的意思是你需要他們與原來的課程相同,那很簡單,我會更新我的答案,如果這不是你的意思,請告訴我。 – user113716 2010-02-20 12:12:10

+0

完美工作,再次感謝! – Nissan 2010-02-22 12:08:19