JavaScript-从DOM元素数组设置图像宽度

JavaScript-从DOM元素数组设置图像宽度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个函数,它用一个类获取所有元素: function imageResize(val) { var i; var images = (document.querySelectorAll(".product-image")); console.log("Function Ran"); console.log(images.length); setTimeout(function() { for(i = 0; i < images.l

我有一个函数,它用一个类获取所有元素:

function imageResize(val) {
    var i;
    var images = (document.querySelectorAll(".product-image"));
    console.log("Function Ran");
    console.log(images.length);
    setTimeout(function() {
        for(i = 0; i < images.length; i++) {
            var imageWidth = images[i].offsetWidth;
            console.log("Old Width = " + images[i].offsetWidth);
            var newWidth = imageWidth/(20-val);
            images[i].style.width = newWidth;
            console.log("New Width = " + images[i].offsetWidth);
        }
    },500);
}
函数图像调整大小(val){
var i;
var images=(document.querySelectorAll(“.product image”);
log(“函数运行”);
console.log(images.length);
setTimeout(函数(){
对于(i=0;i
此代码用于获取页面上具有特定类的所有图像,获取它们的当前大小,通过传递给函数的值将其缩小,并记录要调试的部分

代码根本没有设置图像大小,因为两个日志返回为“60”,这是原始图像宽度

如果需要,这里是上述元素之一的HTML:

jQuery/HTML组合

var imageItem = $("<div class='product-container' style='display: inline-block'><img class='product-image' src='" + imageName + ".png' style='width: auto; height: auto;'></div>");
var-imageItem=$(“”);

(setTimeout是在对类执行一些DOM操作并获取其变量后创建一个空间。如果没有该操作,变量将返回“0”)

width
样式属性应为带有
px
后缀的字符串:

images[i].style.width = newWidth + "px";

哦,我的上帝。我觉得自己像个木偶。真不敢相信我竟然没注意到!谢谢你的帮助,现在可以用了PJust fresh eye有时会有帮助:)