Удаление элемента HTML без родителей - PullRequest
0 голосов
/ 04 марта 2011

Я хочу удалить временный элемент, который создается динамически.

x = document.createElement("DIV");
x.innerHTML = res;
y = x.parentNode;
x = y.removeChild(x);
x = null;

Я написал эти коды, но, поскольку в нем действительно есть родитель, они не работают.Я знаю, что могу создать второй временный узел, чтобы сохранить первый, но затем мне нужен третий узел, чтобы удалить второй .... :) Здесь мне нужна функция для удаления узла без необходимости родительского узла.Я также думаю, что могу поместить узел непосредственно в объект документа и удалить его, но я ищу более эффективные решения, если таковые существуют.

Ответы [ 2 ]

4 голосов
/ 04 марта 2011

Вам не нужно удалять узел, так как он не добавлен в DOM. Когда вы установите переменную на null, элемент перестанет существовать. В общем случае у узлов DOM всегда будет родитель, если они добавлены в модель, но здесь вы не делаете этого в своем коде.

1 голос
/ 04 марта 2011

removeChild только от удаления элемента из документа.Поскольку ваш элемент не является частью документа, вам не нужно его использовать.Просто убедитесь, что вы не сохранили никаких ссылок на элемент в вашем коде, например, установив переменную (и) на null, как вы делаете, и JavaScript будет автоматически позаботиться об автоматической сборке мусора.

Если ваша переменная является локальной переменной в функции, вам даже не нужно устанавливать ее на null, потому что она перестанет существовать сама по себе.

Существуетнет прямого способа «удалить» объект в JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...