Как понять, что элемент точно удалён из Dom
Имеется линк на созданный div = document.createElement('div')
После удаления самого объекта из Dom через .removeChild, линк всё также возращает объект и его свойства. Кто-нибудь может подсказать по каким свойствам можно понять, ведёт линк на реальный объект или удалённый. <html> <body></body> <script> empty_inner_html = function(obj){while (obj.hasChildNodes()) obj.removeChild(obj.firstChild)} a = document.createElement('input'); a.value = 123 b = document.createElement('div') c = document.createElement('div') b.appendChild(a) c.appendChild(b) document.body.appendChild(c) setTimeout(function(){ empty_inner_html(document.body) console.log(a.value) },2000) </script> </html> |
пока есть идея проверять это такой функцией. Когда элемент существует в доме, то el.parentNode.parentNode.итд. рано или поздно доберётся до document.body. У удалённого элемента проход по el.parentNode никогда нарвётся на document.body
function is_el_real(el){ var el_p = el.parentNode while(el_p) { if (el_p == document.body) return true el_p = el_p.parentNode } return false } |
Цитата:
А проверить это поможет https://developer.mozilla.org/en-US/.../Node.contains |
Цитата:
Спасибо |
if ( el = document.getElementById(x) ) {
// делаем что-то } else { // элемента с таким id нет } |
впрс прочитал не внимательно
|
возможно, будет полезно http://learn.javascript.ru/memory-leaks
Цитата:
|
Часовой пояс GMT +3, время: 03:56. |