2013-09-05 11 views
7

Wydaje się to bardzo proste pytanie, ale nie mogę znaleźć solidną odpowiedź na to bez względu na to gdzie mogę szukać = (może to być oczywiste odpowiedź, ale po prostu denerwuje mnie, dopóki mogę być pewien.Czy <span> zostanie automatycznie usunięty po zmianie innerHTML?

mam to:

someDiv.innerHTML = "Some <span style='color:red'>" + var + "</span> text from variable";

jednak później, gdy użytkownik zmienia pewne rzeczy, nie może wymagać zmienną tak, że przekształca się:

someDiv.innerHTML = "A simple sentence";

więc moje pytanie brzmi, czy poprzedni zakres zostanie usunięty automatycznie? Nie muszę się martwić, że tony <span>'s są czymś, o czym nie można się już nigdy więcej nie słyszeć? =)

Dziękuję za wyjaśnienie mi zamieszania i przepraszam z góry za kłopot. Dziękuje jeszcze raz za każdą pomoc.

Odpowiedz

7

Przypisanie łańcucha do innerHTML całkowicie usuwa starą zawartość elementu DOM. Tak więc odpowiedź brzmi: tak! Kiedy wspomniane zakresy zostaną usunięte z drzewa DOM, ich ślad pamięci pozostanie w koszu zbierającym dane w przeglądarce i nie powinieneś się o nie martwić.

+0

Słodki! Trochę się martwiłem, to naprawdę uspokaja umysł. Dziękuję bardzo za odpowiedź i przepraszam za nudne pytanie –

+1

Np, wszyscy zadawaliśmy nudne pytania, a twoja wcale nie jest nudna :) –

Powiązane problemy