2013-09-05 27 views
7

Có vẻ như một câu hỏi thực sự đơn giản, nhưng tôi không thể tìm thấy câu trả lời chắc chắn cho dù tôi tìm kiếm ở đâu (Đó có thể là một câu trả lời rõ ràng nhưng nó chỉ làm phiền tôi cho đến khi tôi có thể đảm bảo được)Có <span> bị xóa tự động nếu thay đổi innerHTML không?

Tôi có này:

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

tuy nhiên sau này khi người dùng thay đổi điều gì đó, nó có thể không đòi hỏi sự biến nên nó biến đổi để:

someDiv.innerHTML = "A simple sentence";

vì vậy câu hỏi của tôi là, khoảng trước đó có bị xóa tự động không? Tôi không phải lo lắng về tấn của <span>'s là một nơi nào đó để không bao giờ được nghe nói hoặc nhìn thấy từ một lần nữa? =)

Cảm ơn bạn đã xóa mọi sự nhầm lẫn đối với tôi và xin lỗi trước vì sự cố. cám ơn lần nữa cho bất kì sự giúp đỡ nào.

Trả lời

7

Gán chuỗi thành innerHTML hoàn toàn xóa nội dung cũ của phần tử DOM. Vì vậy, câu trả lời là có! Khi các nhịp bạn đã đề cập được loại bỏ khỏi cây DOM, dấu vết bộ nhớ của chúng được để lại cho bộ thu gom rác của trình duyệt và bạn không nên lo lắng về chúng.

+0

Ngọt ngào! Tôi hơi lo lắng, điều này thực sự khiến tâm trí của tôi thoải mái. Cảm ơn bạn rất nhiều vì câu trả lời và xin lỗi vì câu hỏi nhàm chán –

+1

Np, tất cả chúng tôi đều hỏi những câu hỏi nhàm chán, và bạn không hề nhàm chán chút nào :) –

Các vấn đề liên quan