这个
querySelector
只返回
第一
元素,该元素与指定的选择器匹配。修改
全部的
图像,您需要使用
querySelectorAll
它返回与指定选择器匹配的所有元素,然后对它们进行迭代以更改它们
src
属性:
var images = document.querySelectorAll('.image'); // Notice that
// this is a nodeList, so you need to use a loop structure
// to change all the elements.
也就是说,for循环中的成功函数中存在一个错误。这个
image
变量是
NodeList
,因此需要使用引用每个节点
image[i].src
而不是
image.src
.
您可以按以下方式更正该部分:
var imageNodes = document.querySelectorAll('#product-main-img .product-preview .image, #product-imgs .product-preview .image');
for (var i = 0; i < imageNodes.length; i++) {
if(images[i]) {
imageNodes[i].src = '/Contents/img/' + images[i].split('/').pop();
}
}