![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 6 Dołączył: 10.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Do swojej stronki zrobiłem sobie funkcje (opartą o DOM) do usuwania węzłów (elementów o danym id).
Funkcja wygląda następująco Kod function remover(id) // usuń element o (id) { var todelete=$(id); var nad=todelete.up(); //element nadrzędny nad.removeChild(todelete); } * $() i up() są to funkcje używanej przez mnie klasy ajaxa; dają dostęp do drzewa DOM; $() = document.getElementById() Czytając o metodzie removeChild() natknąłem się na zapis że metoda nie usuwa całkowicie danego węzła z drzewa DOM a jedynie z dokumentu (w moim przypadku html). Moje pytanie brzmi: Jak usunąć węzeł "PERNAMETNIE" ? Bo w tym momencie jeżeli wstawię nowy np. div to "uruchamia" mi się ten usunięty węzeł. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat to "uruchamia" mi się ten usunięty węzeł. "Uruchamia" czyli co?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 6 Dołączył: 18.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Strzelam:
Ajax buforuje tworzone przez siebie obiekty i ich atrybuty niezależnie od Nodelist (czy też, jak wolisz drzewa DOM). Jeżeli korzystasz z gotowego framework'a sprawdź czy nie ma on odpowiedniej funkcji do usuwania obiektów. PS> Przyłączam do pytania nospor'a ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 6 Dołączył: 10.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam za wprowadzenie w błąd. Źle rozpoznałem problem.
Przeczytałem gdzieś że polecenie removeChild() nie usuwa całkowicie węzła z drzewa DOM i tym się sugerując wyciągnąłem błędne wnioski. Sprawa dotyczyła podmiany <img> w <div>. Jak się okazało problem był z cachem przeglądarki. Wszystkie sposoby ( czyli nagłówki <meta> i nie tylko ) jak dało się wykorzystać nie sprawdzały się w Firefoxie. Nawet po zastosowaniu się do porad w tym temacie. Problem rozwiązałem ale czuje pewien nie dosyt. Problem następujący: (wszystko robimy za pomocą AJAX) W divie znajduje się <img> Za pomocą AJAX'a usuwamy z diva ten <img> a następnie ładujemy nowy i "wstrzykujemy" (innerHTML) w miejsce poprzedniego. Utrudnienie: stary jak i nowy <img> musi posiadać tą samą nazwę i znajdować się w tym samym miejscu (na dysku), pomimo że to dwa różne obrazki ( w moim przypadku miały także takie same wymiary) . O ile za pomocą <meta> IE reagował poprawnie czyli wyświetlał nowy obrazek (pomimo tej samej nazwy i lokalizacji), o tyle Firefox uparcie się trzymał i wyciągał wszystko z swojego cache'a. Problem rozwiązałem nadając obrazkom unikatowe nazwy ale ... i tu mnie Firefox bardzo zniesmaczył. Jeszcze raz przepraszam za wprowadzenie w błąd. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 12:41 |