Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][DOM] Całkowite usunięcie węzła
Forum PHP.pl > Forum > Przedszkole
gebp
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ł.
nospor
Cytat
to "uruchamia" mi się ten usunięty węzeł.
"Uruchamia" czyli co?
pi_wo
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 smile.gif
gebp
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.
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.