Как понять, что элемент точно удалён из 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, время: 14:55. |