webForumDet fria alternativet

Placera element överst i lista - hur hade du gjort?

JavaScriptur Javascript

4 svar · 488 visningar · startad av silfver

silfverMedlem sedan apr. 200312 679 inlägg
#1

Till er som är jQuery masters. Kika på denna koden (http://jsbin.com/ozimax/6/edit). Är det här ett bra sätt att lösa problemet på?

Jag vill alltså att när man man klickar på en 'Header'-länk så skall den rubriken lägga sig överst i <ol>. Detta fungerar just nu, jag vill bara veta om man kan göra det på ett fiffigare sätt.

Hur skulle du gjort?

voigtann1Medlem sedan juni 20019 519 inlägg
#2

du behöver inte klona om du nu vill flytta på elementen:

$(document).ready(function() {

var ul = $('.sortList'),
    li = ul.children('li'),
    ol =  $("ol");
    
  $(".sortList a").click(function(){
    var id = $(this).attr("data-sort"),
		currentItem = ol.find("li[data-name='" + id + "']");
		
	ol.prepend(currentItem);
	
	return false;
  });
  
    
});

http://jsbin.com/ozimax/7/edit

du skulle nog även kunna spara li listan i en kollektion och bara kört filter på det också.

silfverMedlem sedan apr. 200312 679 inlägg
#3

Är det ol.prepend(currentItem); som gör själva flytten?

voigtann1Medlem sedan juni 20019 519 inlägg
#4

Jo

silfverMedlem sedan apr. 200312 679 inlägg
#5

Tack voigtann1. :)

124 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)