Ответ 1
не передавать строку, а элемент
var link = document.createElement('a');
link.innerHTML = imagename;
link.id = "hostname";
link.href = destination;
var specialdiv = document.getElementById("specialdiv");
specialdiv.appendChild(link);
Возможный дубликат:
javascript appendChild не работает
Ошибка в последней строке этого фрагмента:
var anchor = "<a id=\"hostname\" href=\"" + destination + "\"> "+ imagename + "</a>";
var specialdiv = document.getElementById("specialdiv");
console.log("div: " + specialdiv);
specialdiv.appendChild(anchor);
На самом деле ничего не происходит... Я проверил, что specialdiv
не является нулевым или что-то в этом роде. Может кто-нибудь объяснить, почему я получаю эту ошибку на этой строке?
не передавать строку, а элемент
var link = document.createElement('a');
link.innerHTML = imagename;
link.id = "hostname";
link.href = destination;
var specialdiv = document.getElementById("specialdiv");
specialdiv.appendChild(link);
Вы получаете эту ошибку, потому что appendChild
принимает элементы DOM, а не строки. Перед использованием appendChild
необходимо создать элемент DOM.
var anchor = document.createElement('a');
anchor.id = "hostname";
anchor.href = destination;
anchor.innerHTML = imagename;
var specialdiv = document.getElementById("specialdiv");
specialdiv.appendChild(anchor);