获取变量是for循环中不确定的错误



这是我的JavaScript代码:

var all_videos = document.querySelectorAll(".video-feed-item-wrapper");
var all_urls = [];
console.log(all_videos.length);
for(i = 0; i <= all_videos.length; i++) {
all_urls.push(all_videos[i].getAttribute('href'));
}
console.log(all_urls);

它告诉我错误all_videos[i]未定义。为什么它没有定义?

谢谢。

这里有两个问题,第一个问题是i变成全局变量,而i <= all_videos.length只使用i < all_videos.length。是undefined,因为i尝试访问不可用的元素。元素不可用,因为index0开始

for(i = 0; i < all_videos.length; i++) {
all_urls.push(all_videos[i].getAttribute('href'));
}

For循环应从0到长度为1的迭代

for循环中的条件应该是i < all_videos.length而不是i <= all_videos.length

正确的行应该是:

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

最新更新