Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery] operacje na nowo utworzonym DIV
Forum PHP.pl > Forum > XML, AJAX
netvalue
Hej

W jaki sposób uzyskać dostęp do dynamicznie utworzonego nowego elementu aby wykonywać na nim operacje ?
Przykładowo wczytuje asynchronicznie za pomocą get dane w ktorych jest <div id="test"></div>
Po jego wczytaniu chce zrobic $("#test").hide() i tu pojawia sie wlasnie ten problem ze nie moge nic zrobic..
kamil4u
Nie znam jQuery, więc mogę się mylić, ale prawdopodobnie musisz skorzystać z metody 'live'. Ew. jak to nie to to spróbuj wykorzystać zdarzenie complete+ ew. context, dla funkcji ajax-owych i w nim umieścić odpowiedni kod( może, element jeszcze nie był załadowany w DOM )
thek
live lub delegate, zależnie jakiej wersji jQuery używasz. Przykłady obu masz w dokumentacji na stronie jQuery.
netvalue
wlasnie tak to zrobilem tyle ze okazalo sie ze ff cache utrudnial sprawe...
toel
pewnie to "złe" rozwiązanie, ale działa. ja w takiej sytuacji na nowo binduję funkcję dla elementów z wywołania asynchronicznego.

czyli np. po "success" robię $('.test').bind('click');


Jakoś dziwnie przelałem myśli, ale myślę że wiesz o co chodzi smile.gif
misiek08
W teorii wywołanie
Kod
$("#test").hide();
po zakończeniu żądania powinno działać, bo jest już wszystko załadowane, a jQuery przeszukuje elementy.

Koledzy tutaj opisali Ci co zrobić jeśli ładujesz AJAX'em elementy np. z klasą .mail i chcesz, żeby działo się coś po ich kliknięciu. Wtedy .live() automatycznie przypisze eventy do elementów pobieranych AJAX'em.
#luq
Nie bardzo umiem wyobrazić sobie przypadku w którym konieczne (czy tam o wiele, wiele, łatwiejsze) jest pobieranie anynchroniczne HTML`a a nie tekstu czy jsona. Jak dla mnie źle zaprojektowane.

Powinieneś pobrać:
Kod
{'result': 'ala ma kota'}


Potem po odebraniu tego stworzyć diva, wpakować w niego text i wrzucić to gdzieś w drzewko DOM, wtedy nie musisz nawet tego elementu pobierać za pomocą id...
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.