For 循环未显示网站中的所有类

我正在尝试做一些事情来总结我在英雄联盟中花费的所有时间。

我想获得所有在官方 LoL 比赛历史上存储分钟的课程。

现在我正在做这样的事情:


var time = document.querySelectorAll('.date-duration-duration');

var timeArr = Array.from(time);

for(var i = 0; i < timeArr.length; i++){

    timeArr[i].innerText;

}

它只给我来自 Array 的第一个元素的innerText。但是当我的 for 循环只有 timeArr 而不是 timeArr[i].innerText 时,它显示了所有选定的元素,但没有innerText。我应该怎么做才能列出这个数组中的每个innerText,因为我想要做的下一步是解析所有这些元素并将它们相加。


有人可以指导我吗?:)



我想补充一点,我现在非常初学者,我刚刚开始使用 JavaScript。


截图

http://img3.mukewang.com/618e081c00017cc104580099.jpg

http://img2.mukewang.com/618e08250001b08709170072.jpg

http://img3.mukewang.com/618e082b00015b6c05850185.jpg

http://img2.mukewang.com/618e0835000142ec10770485.jpg

红糖糍粑
浏览 144回答 3
3回答

慕沐林林

Array.from应该管用。确保您实际上正在抓取包含文本的元素。您可以查询.date-duration-duration > div或简单地查询.date-duration-duration。// You can use either Array.from or [].slice.callvar times = Array.from(document.querySelectorAll('span.date-duration-duration > div'))&nbsp; .map(duration => duration.textContent); // innerHTML will return markup&nbsp;&nbsp;console.log(times.join(', '));<span class="date-duration-duration"><div>00:00</div></span><span class="date-duration-duration"><div>06:00</div></span><span class="date-duration-duration"><div>12:00</div></span><span class="date-duration-duration"><div>18:00</div></span>

30秒到达战场

您应该将结果存储在某个地方。在您的示例中,您只需在元素上调用属性 innerText,无需任何分配。例如,您可以这样做:var time = document.querySelectorAll('.date-duration-duration');var timeArr = Array.from(time);var result = [];for(var i = 0; i < timeArr.length; i++){&nbsp; result.push(timeArr[i].innerText);}变量result将包含您的值作为字符串。然后你可以总结一下result.reduce((sum, value) => sum + parseInt(value), 0);

翻阅古今

使用 console.logvar time = document.querySelectorAll('.date-duration-duration');var timeArr = Array.from(time);for(var i = 0; i < timeArr.length; i++){&nbsp; &nbsp; console.log(timeArr[i].innerText);}默认情况下,它只记录最后一个数据,以防 timeArr 它是一个包含 15 个元素的数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript