jQuery

2014-09-12 29 views
5

sınıfına göre listeleme yeniden sıralama Öğeler listemi bir sınıf kullanarak yeniden sıralamak için basit bir yol var mı?jQuery

Aşağıda listelenen diğer liste öğeleriyle birlikte, listenin en üstündeki öğeleri öne çıkarmak için bir sınıf belirtmek istiyorum.

<ul class="order-me"> 
    <li class="">normal content</li> 
    <li class="">normal content</li> 
    <li class="featured">featured content</li> 
    <li class="">normal content</li> 
    <li class="featured">featured content</li> 
    <li class="">normal content</li> 
    <li class="">normal content</li> 
</ul> 

İstenilen çıktı:

<ul class="order-me"> 
    <li class="featured">featured content</li> 
    <li class="featured">featured content</li> 
    <li class="">normal content</li> 
    <li class="">normal content</li> 
    <li class="">normal content</li> 
    <li class="">normal content</li> 
    <li class="">normal content</li> 
</ul> 

teşekkürler!

cevap

9

.featured öğelerini, listenin en üstüne taşımak için ul içeriklerini ekleyebilirsiniz. Bu deneyin:

$('.featured').prependTo('.order-me'); 

Example fiddle

+0

Vay, beni emmek yana doğru düşündüğümden daha kolaydı. Teşekkür ederim Rory! –

+0

jQuery genellikle şöyledir: D Yardımcı olmaktan memnun. –

+0

Nice .. Cevap .. – Prabhagaran

1

@Rory McCrossan cevabı eklemek için, ben gezinme düğmeleri ile sıralamak özelliğini ekledik

$("ul.order-nav li").click(function() { 
    // Find the Data attribute from unordered list [.order-nav] 
    var sortClass = '.' + $(this).data('sort-by'); 
    // Prepent the [li] with matching class to top of [ul] 
    $(sortClass).prependTo('.order-me'); 
}); 

Here is the Fiddle

+0

Partiye geç kaldı, ama hoş bir ek, beğendim. Şerefe. –