Я написал функцию, которая очищает самые популярные статьи сайта.Я выполняю два фрагмента, один для изображения статьи, другой для ссылки и названия статьи.Затем я объединяю изображение, ссылку и заголовок для каждой статьи в отдельные объекты.Отсюда моя цель - записать эту информацию в HTML-документ.Я создаю строку таблицы для каждой статьи.Каждая строка имеет три тд: один для заголовка, изображения и ссылки.Ошибка, которую я получаю, показана ниже.Я положил ** вокруг места, где появляется ошибка.Это происходит, когда я пытаюсь добавить строку в таблицу.Примечание: это для небольшого проекта.Я не очищаю сайт для какой-либо личной выгоды.
VM51039:35 Uncaught TypeError: Cannot read property 'appendChild' of undefined
at <anonymous>:35:46
at Array.forEach (<anonymous>)
at m_getArticles (<anonymous>:12:15)
at <anonymous>:1:1
var m_getArticles = function(){
var article_nameANDlink = d3.selectAll('.grid.most-popular__grid h3>a').nodes();
var article_img = d3.selectAll('.grid.most-popular__grid picture>img').nodes();
var combination = [];
for (i=0; i<article_nameANDlink.length; i++) {
var info = new Object();
info.nameANDlink=article_nameANDlink[i];
info.img=article_img[i];
combination.push(info);
}
combination.forEach(function(d, index, arr) {
var link = d.nameANDlink.getAttribute("href");
console.log(link);
var name = d.nameANDlink.innerText;
console.log(name);
var img = d.img.getAttribute("src");
console.log(img);
var header = document.createElement("p");
var title = document.createTextNode(name);
header.appendChild(title);
var present = document.createElement("img");
present.setAttribute("img",img);
var provide = document.createElement("a");
provide.setAttribute("a",link);
provide.innerText="Read Article";
var nth_article = document.createElement("TR");
nth_article.setAttribute("id","row"+index);
document.getElementsByTagName("table")[0].**appendChild(nth_article)**;
var within_info = document.createElement("td");
within_info.setAttribute("id","within_info"+index);
document.getElementById("row"+index).appendChild(header);
var within_img = document.createElement("td");
within_img.setAttribute("id","within_img"+index);
document.getElementById("row"+index).appendChild(present);
var within_img = document.createElement("td");
within_img.setAttribute("id","within_link"+index);
document.getElementById("row"+index).appendChild(provide);
})
}