TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
[jQuery] Jak skopiować pewne elementy w inne miejsce DOM? [szczegóły w środku] , kubazzz 25/01/09 21:53 mamy coś takiego:
klikasz w guzik, dodawany jest <div class="added_content">blablaba</div>
dokładnie to jest to:
$('.tresc').append('<div class="added_content"><a href="#" class="usun_to">usun</a><br/><p>blablaba</p></div>');
Potem zrobiłem skrypcik z uzyciem live()
$('a.usun_to').live('click',function(){
var ilosc = $(this).parent('.addec_content').nextAll('.added_content').size();
ilosc++;
alert('Usunięto pozycję nr '+ilosc);
$(this).parent('.added_content').remove();
});
Wszystko pięknie.
Potem jest sobie skrypt, który całą tamtą część ukrywa [tzn tego zbiorczego div'a gdzie jest klasa ".tresc" i te "added_content"]
jest show() na innym divie, gdzie jest paragraf z id="podsumowanie".
I teraz, chce wziąć wszystkie .added_content z div'a .tresci [co jest ukryte] i nie usuwajac ich stamtad, wkleic do paragrafu "#podsumowanie".
tak po prostu.
Próbowałem coś takiego:
$('.tresci > .added_content).html().appendTo('#podsumowanie').slideDown();
nie działa..
z tego wiem, to nie trzeba używać live() [ani livequery] do tego bo nie binduje się żadnej akcji...SM-S908 - to powinno być proste , kubazzz 25/01/09 22:04
ale gdzieś coś muszę źle pojmować..
demyt.SM-S908 - Moje 2 grosze , Conroy 25/01/09 22:25
Tym razem nie będzie po prostu odpowiedzi.
Używasz może Firefoxa z Firebugiem?
Świetne narzędzie do debugowania.
Raz, że widzisz, czy się struktura DOM zmieniła jak chciałeś.
Dwa, że można debugować i wykonywać krok po kroku skrypty.
Trzy, że napisze Ci gdzie skrypt ma błąd (jak ma).
Cztery - konsola na której na bieżąco możesz wprowadzać komendy JS (tam na dole okna, na tym niepozornym pasku).
Zatem jeśli akurat masz i używasz to sprawdź czy się na pewno wszystko modyfikuje jak powinno, aż do ostatniego kroku. A później, skoro wiesz, że ostatnia komenda z przeklejaniem nie działa, możesz sprawdzić na konsoli jej fragmenty. Czyli piszesz sobie po kolei np:
$('.tresci > .added_content)
jak zwróci Ci obiekt to ok, odnalazło odpowiedni fragment DOM, to piszesz dalej
$('.tresci > .added_content).html()
jak wyświetli zawartość to super, to jest bezbłędnie i działa, więc dalej
$('#podsumowanie')
docelowy element jest znaleziony, czyli coś z tym AppendTo, bo Slide na razie olej. Zrób porządek z appendTo i jak będzie działać to dopiszesz.
Naprawdę polecam do takich zabaw Firebuga - oszczędza czas, ale _przede wszystkim_ nerwy.
A jak tam w końcu z tymi selectami, rozwiązałeś problem? W jaki sposób?http://flickr.com/photos/myhacien
da - z selectami nie rozwiązałem ostatecznie, ale wymyśliłem rozwiązanie na około , kubazzz 25/01/09 22:40
kluczem do mojej koncepcji było to, żeby ta druga lista selectów była spójna , żeby mogła mieć jeden atrybut "name" i jeden atrybut "id".
BO JS miał później brać do ajax'a wybraną opcję z selecta o konkretnym ID, nie chciałem się rozdrabniać na case'y ani if'y, zwłaszcza że póki co różynch selectów byłyby 3, a później może więcej. [np kazda opcja z jednego selecta, miala wplywac na zawartosc drugiego selecta, wiec dodanie kolejnej opcji w pierwszym, wymusza dodanie kolejnych opcji do selecta, albo kolejnego ukrytego selecta ]
Wymyslilem, ze po prostu bedzie dodawal/modyfikowal atrybuty ID i NAME drugiego selecta z pomocą selectorow next sibling i ewentualnie class, na podstawie odpowiedniej zmiany w pierwszym select.
Wtedy skrypt, ktory odczytuje wartosci z drugiego selecta, moze miec na sztywno wpisane name/id i nie musi sie martwic o to ile jest tych 'drugich' selectow i co jest wybrane w pierwszym.SM-S908 - a firebug'a nie uzywam , kubazzz 25/01/09 22:40
chociaz wiele razy czytalem, ze jest super:P
ale po prostu nie lubie frajerfoxa:DSM-S908 - to zacznij , Deus ex machine 25/01/09 22:52
bo Ci zycia nie starczy na chodzenie po omacku
http://getfirebug.com/lite.html - dziala tez pod IE"Uti non Abuti" - nie mogę rozpracowac jak tego używać do debugowania skryptów , kubazzz 26/01/09 14:49
mam guzik, który odpalał skrypt i ten skrypt działał, ale coś przestał działać. Nie ma błędu w składni, po prostu gdzies cos nie tak jest.
Jak mam klikac w firebugu, zeby krok po kroku sprawdzic co sie dzieje?SM-S908 - Używasz tego z Fx czy z IE? , Conroy 26/01/09 19:30
To użyj z Fx :)
Jak jest poważny błąd w skrypcie, który w ogóle uniemożliwi mu działanie, to od razu po wczytaniu strony, na zakładce konsola masz napisane co i w jakiej linii (czasem wskazanie bywa mylące, wynika to jednak tylko z konstrukcji kodu).
Od tego zaczynasz.
Później gdy chcesz prześledzić krok po kroku jak dana funkcja działa to przechodzisz do zakładki Scripts i powyżej masz rozwijaną listę plików ze skryptami. Wybierasz odpowiedni, przewijasz do odpowiedniej linii i ustawiasz breakpoint klikając na numerze lini. Uruchamiasz przyciskiem czy przez odświeżenie strony tą funkcję i dalej możesz się już poruszać po niej jak w zwyczajnym debugerze.http://flickr.com/photos/myhacien
da
- Paskudztwo , Thradya 26/01/09 02:28
http://gimeproject.pl/w212/w21200019.jpg
na tej focie wygląda jak prius.- dziwny on , kubazzz 26/01/09 05:23
ale na tej http://gimeproject.pl/w212/w21200015.jpg
wygląda bardzo fajnie:)SM-S908
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|