3 回答
TA贡献2016条经验 获得超9个赞
Array.from应该管用。确保您实际上正在抓取包含文本的元素。
您可以查询.date-duration-duration > div或简单地查询.date-duration-duration。
// You can use either Array.from or [].slice.call
var times = Array.from(document.querySelectorAll('span.date-duration-duration > div'))
.map(duration => duration.textContent); // innerHTML will return markup
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>
TA贡献1828条经验 获得超6个赞
您应该将结果存储在某个地方。在您的示例中,您只需在元素上调用属性 innerText,无需任何分配。例如,您可以这样做:
var time = document.querySelectorAll('.date-duration-duration');
var timeArr = Array.from(time);
var result = [];
for(var i = 0; i < timeArr.length; i++){
result.push(timeArr[i].innerText);
}
变量result将包含您的值作为字符串。然后你可以总结一下
result.reduce((sum, value) => sum + parseInt(value), 0);
TA贡献1780条经验 获得超5个赞
使用 console.log
var time = document.querySelectorAll('.date-duration-duration');
var timeArr = Array.from(time);
for(var i = 0; i < timeArr.length; i++){
console.log(timeArr[i].innerText);
}
默认情况下,它只记录最后一个数据,以防 timeArr 它是一个包含 15 个元素的数据。
添加回答
举报