Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Dziwna sprawa z .sort()
Forum PHP.pl > Forum > Przedszkole
SmokAnalog
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?
werdan
Wydaje mi sie, że obecne rozwiazanie jest najlepsze.
trueblue
Na jakiej podstawie wnioskujesz, że funkcja sort, to funkcja z jQuery?
Crozin
1. To nie ma za wiele wspólnego z jQuery.
2. https://developer.mozilla.org/en/docs/Web/J...ects/Array/sort
SmokAnalog
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?
SmokAnalog
Widziałem to. Autor robi to samo co ja, czyli .detach() + .appendTo().
trueblue
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.
SmokAnalog
Nie sądzę. Klonowanie to jednak jedna z cięższych operacji w jQuery.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.