我是Javascript的初学者,所以请记住我的代码中的任何小的低效率。
我正在尝试将一组div“galleryboxes”(在另一个div中,“galleryimages”内)的ID设置为增加增量,即。 picture1,picture2等
每个div(来自'galleryboxes')内部各有一张图片;在我的for循环的第二行中,我试图对上面的div做同样的事情并给他们一个id。然后我想使用这张图片从中制作缩略图(发布到div'gallery')。
var galleryimages = document.getElementById("galleryimages");
var galleryboxes = galleryimages.getElementsByTagName("div");
var k = 1;
var thumbimage = document.createElement("img");
for (var i = 0; i < galleryboxes.length; i++) {
galleryboxes[i].id = "item" + k;
galleryboxes[i].getElementsByTagName("img").id = "picture" + k;
thumbimage.src = document.getElementById("picture" + k).src;
document.getElementById("gallery").appendChild(thumbimage);
//thumbimage.className = "thumbnail";
k++;
}
不幸的是,当我'appendChild'时,它只是说它无法读取null的.src属性。我已经尝试过重新安排一些事情,但是我无法通过图像来制作缩略图。我很确定我已将ID分配给正确的项目...
除此之外,我注释掉的代码正在尝试为新的缩略图分配一个类,这几次我已经接近让它工作似乎不起作用。那里有什么明显的错误吗?
答案 0 :(得分:1)
我注意到两个问题:
1)你只创建了1个拇指图像,但是遍历了一个galleryboxes数组
2)getElementsByTagName
返回元素列表(NodeList),并设置NodeList的.id
。如果您确定只有1 img,请使用getElementsByTagName()[0]
。