尝试更改图像大小时出现非常奇怪的Javascript错误

时间:2017-09-19 10:45:40

标签: javascript debugging javascript-events

所以这是控制台中的错误:

未捕获的TypeError:无法读取属性' style'未定义的。

var image = document.getElementsByClassName("zoomImg");
var trigger = document.getElementsByClassName('woocommerce-product-gallery__trigger'); 

    function enlarge() {
        image.style.width = "1000px"; //The error happens here
        image.style.height = "900px";
    }

    window.onload = function() { trigger.addEventListener("mouseover", enlarge());
    }

1 个答案:

答案 0 :(得分:1)

在第一行,您将获得多个元素,因此在这种情况下是一个元素数组。在放大功能中,您假设变量"图像"是1个元素,即使它实际上是一个元素数组(即使可能只有1个)

如果只有1,并且您确定,那么您可以执行以下操作:

image[0].style.width = "1000px";

但是,如果你假设只有1个结果,你最好给元素一个id而不是一个类,并使用:

document.getElementById('zoomImg');代替document.getElementsByClassName('zoomImg');

然后只有一个元素,而不是元素数组。