我对编程还很陌生,最初我是图形设计师,所以如果我的问题很愚蠢,我深表歉意。 我正在尝试使用newsapi做一些事情,基本上我想显示文章标题。我已经做好了这一步,但是现在我想将文章标题存储在数组中,以便能够返回到它。
我几乎尝试了所有操作,但似乎无法正常工作。我试图在函数之前将数组定义为
var allTitles = [];
,然后尝试使用从API中提取的值填充
var allTitles = articleTitle[I];
我不确定自己在做什么错。这是整个代码。 非常感谢您的帮助!
r input = document.getElementById('input');
var container = document.getElementById('container');
var allTitles = [];
function getNews(event) {
if (event.keyCode == 13) {
var everything = $.get("https://newsapi.org/v2/top-headlines?q=" + input.value + "&language=en&apiKey=612c24355bc24dbcbb4b13496d772971");
everything.done(function(data) {
for (var i = 0; i < 3; i++) {
// var articleImageHeight = Math.floor(Math.random() * 250) + 150;
var articleContainer = document.createElement('DIV');
var articleTitle = document.createElement('a');
var articleDescription = document.createElement('p');
articleContainer.classList.add('article-container');
articleTitle.classList.add('article-title');
articleDescription.classList.add('article-description');
container.appendChild(articleContainer);
articleContainer.appendChild(articleTitle);
articleContainer.appendChild(articleDescription);
articleTitle.innerHTML = data.articles[i].title;
articleTitle.setAttribute('href', data.articles[i].url);
articleTitle.setAttribute('target', '_blank');
var allTitles = articleTitle[i];
}
});
input.value = "";
while (container.firstChild) {
container.removeChild(container.firstChild);
}
}
}
input.addEventListener('keyup', getNews);
答案 0 :(得分:0)
假设您的其余代码按预期工作,则文章标题将在data.articles[i].title
中提供,因此要将其存储在数组allTitles
中,您只需替换以下行:>
var allTitles = articleTitle[i];
与此相关(请参见push
上的MDN文章):
allTitles.push(data.articles[i].title);
或者:
allTitles[i] = data.articles[i].title;