Удаление узла DOM создает исключение Node, removeChild должен быть экземпляром Node - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь удалить элемент html:

function welcomeBack(user) {

  var loginDiv = document.getElementById("logindiv");
  var login = document.getElementById("loginAnchor");
  loginDiv.removeChild(login);

}

Родительские и дочерние элементы:

<div id="logindiv">
  <li><a href="#" onclick="login()" id="loginAnchor">Sign In</a></li>
</div>

Однако я получаю следующую ошибку:

TypeError: Аргумент 1 ('child') для Node.removeChild должен быть экземпляром Node

Я искал похожие проблемы, но не могу найти решение или объяснение.

Любой вклад приветствуется.

1 Ответ

2 голосов
/ 25 апреля 2020

Вам нужно сделать ссылку на parentNode, где живет childNode, прежде чем удалять его.

Попробуйте:

function welcomeBack(user) {

  var loginDiv = document.getElementById("logindiv");
  var login = document.getElementById("loginAnchor");
  var loginDiv = login.parentNode; 
  loginDiv.removeChild(login);

}
...