--- title: Node.remove() slug: orphaned/Web/API/ChildNode/remove translation_of: Web/API/ChildNode/remove original_slug: Web/API/ChildNode/remove ---
Метод Node.remove()
удаляет узел из дерева DOM
То, что элемент удалён из DOM, ещё не значит, что он удалён совсем!
Он остался объектом и исчезнет только тогда, когда исчезнут все ссылки на него.
Node.remove();
Node
- любой узел DOM<div id="box"> <div id="one"></div> <div id="two"></div> </div>
var elem = document.querySelector("#one"); elem.remove(); alert(document.querySelector("#box").innerHTML); //Исчез блок #one alert(elem); //Но как видите, сам объект ещё жив
Можно создать полифил для IE 9 и выше, используя следующий код:
(function() { var arr = [window.Element, window.CharacterData, window.DocumentType]; var args = []; arr.forEach(function (item) { if (item) { args.push(item.prototype); } }); // from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md (function (arr) { arr.forEach(function (item) { if (item.hasOwnProperty('remove')) { return; } Object.defineProperty(item, 'remove', { configurable: true, enumerable: true, writable: true, value: function remove() { this.parentNode.removeChild(this); } }); }); })(args); })();
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('DOM WHATWG', '#dom-childnode-remove', 'ChildNode.remove')}} | {{Spec2('DOM WHATWG')}} | Initial definition. |
{{Compat("api.ChildNode.remove")}}