2009-09-24 53 views
8

Cần trợ giúp một lần nữa. Nói rằng tôi có một danh sách không có thứ tự, và tôi muốn nó luôn có số lượng li chẵn trong đó. Làm thế nào tôi có thể sử dụng jQuery để đếm số li, và thêm một số trống vào cuối, nếu số lẻ?jQuery - cách đếm số li và thêm một số nếu số lẻ là số lẻ?

Nếu bạn đang tự hỏi tại sao, tôi có một danh sách thả xuống nơi "ul li ul" gấp hai lần chiều rộng của "ul li ul li" để hiển thị của trình đơn thả xuống trong 2 cột. Vì vậy, hoàn toàn cho hình ảnh, nó sẽ được tốt đẹp để luôn luôn có một số tiền thậm chí, ngay cả khi một là trống.

Cheers

Trả lời

10

Hãy thử điều này:

$("ul").each(function() { 
    var elem = $(this); 
    if (elem.children("li").length % 2 != 0) { 
     elem.append("<li></li>"); 
    } 
}); 

này nên thêm một mục danh sách cho tất cả các danh sách không có thứ tự với một số lẻ số mục danh sách.

3
if($('#myUnorderedList > li').size() % 2 != 0) 
{ 
    //add an extra li somewhere 
    $('#myUnorderedList').append('<li>content</li>'); 
} 
4

tôi muốn làm điều đó như thế này:

if ($('ul#my-ul > li').length %2 != 0){ 
    $('ul#my-ul').append('<li></li>'); 
} 
+0

ul # my-ul là thừa và chậm hơn # my-ul. –

+0

nó là thừa, nhưng IMHO dễ đọc hơn. Bạn có một liên kết giải thích tại sao nó chậm hơn không? Cảm ơn –

+1

Id là duy nhất. Khi bạn thực hiện ul # my-ul, bạn gọi tìm kiếm trên tất cả các phần tử, tìm kiếm id. Tôi sẽ tìm thấy một liên kết trong một phút. –

Các vấn đề liên quan