为缩略图图像分配.src时遇到麻烦

时间:2012-12-25 18:49:11

标签: javascript src classname

我是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分配给正确的项目...

除此之外,我注释掉的代码正在尝试为新的缩略图分配一个类,这几次我已经接近让它工作似乎不起作用。那里有什么明显的错误吗?

1 个答案:

答案 0 :(得分:1)

我注意到两个问题:

1)你只创建了1个拇指图像,但是遍历了一个galleryboxes数组

2)getElementsByTagName返回元素列表(NodeList),并设置NodeList的.id。如果您确定只有1 img,请使用getElementsByTagName()[0]