Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Dziwna sprawa z .sort()
SmokAnalog
post 24.07.2014, 23:01:53
Post #1





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witajcie,

dziwna sprawa jest z metodą sort() w jQuery. Dokumentacja milczy na jej temat, a ta metoda istnieje i działa. Użyłem jej do posortowania elementów w kolekcji:
[JAVASCRIPT] pobierz, plaintext
  1. $("selektor").sort(function(a, b) {
  2. // zmienne a i b zawierają referencje do elementów
  3. // NIE są obiektami jQuery - trzeba je własnoręcznie opakować jako $(a) i $(b)
  4. });
[JAVASCRIPT] pobierz, plaintext


No i wszystko pięknie działa. Zastanawia mnie jednak jedno - żeby sortowanie zadziałało, elementy nie mogą być w drzewie DOM. Czy w jQuery jest jakaś metoda, która "odświeża" drzewo? W tej chwili używam .detach(), sortuję i potem znów .appendTo(). Można prościej?
Go to the top of the page
+Quote Post
werdan
post 25.07.2014, 06:05:29
Post #2





Grupa: Zarejestrowani
Postów: 354
Pomógł: 100
Dołączył: 14.11.2013
Skąd: Płock

Ostrzeżenie: (0%)
-----


Wydaje mi sie, że obecne rozwiazanie jest najlepsze.
Go to the top of the page
+Quote Post
trueblue
post 25.07.2014, 10:51:57
Post #3





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Na jakiej podstawie wnioskujesz, że funkcja sort, to funkcja z jQuery?


--------------------
Go to the top of the page
+Quote Post
Crozin
post 25.07.2014, 10:56:36
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. To nie ma za wiele wspólnego z jQuery.
2. https://developer.mozilla.org/en/docs/Web/J...ects/Array/sort
Go to the top of the page
+Quote Post
SmokAnalog
post 25.07.2014, 11:04:10
Post #5





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Racja, nie pomyślałem o tym. Zapomniałem, że kolekcje jQuery działają też jak tablice. Dzięki.

A wracając do mojego pytania, można jakoś posortować elementy będące w drzewie?
Go to the top of the page
+Quote Post
trueblue
post 25.07.2014, 11:16:19
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


http://trentrichardson.com/2013/12/16/sort...lements-jquery/


--------------------
Go to the top of the page
+Quote Post
SmokAnalog
post 25.07.2014, 11:36:12
Post #7





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Widziałem to. Autor robi to samo co ja, czyli .detach() + .appendTo().
Go to the top of the page
+Quote Post
trueblue
post 25.07.2014, 11:51:07
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Tak, nie zauważyłem.

To ewentualnie klonować element i wstawiać za lub przed, a źródło klona wstawiać. Nie wiem czy to będzie wydajniejsze.


--------------------
Go to the top of the page
+Quote Post
SmokAnalog
post 25.07.2014, 12:01:33
Post #9





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Nie sądzę. Klonowanie to jednak jedna z cięższych operacji w jQuery.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:41