我正在尝试检查所有输入框,如果旁边没有图像标签,该图像标签的src中包含某个图像位置。

var productThumb = document.getElementsByTagName("img").src;
var inputs = document.getElementsByTagName("input");
for (var i = 0, max = inputs.length; i < max; i++) {
    imgSrc = productThumb[i];
    if (inputs[i].type === 'checkbox' && imgSrc.indexOf("/img/folder/1/") === 0 )
        inputs[i].checked = true;
}


当我运行此代码时,标题中出现错误。怎么了?我是javascript的新手,所以我不知道我在做什么错,但是我认为必须与var = productThumbimgSrc = productThumb[i]有关。声明变量的正确方法是什么?

最佳答案

getElementsByTagName返回类似数组的结构(HTMLCollection)。因此,productThumb是未定义的,因为src中没有HTMLCollection属性。

只需从示例中的第1行中删除.src,然后将其添加到第4行的末尾,就可以了。

关于javascript - JS:无法读取未定义的“src”的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35235130/

10-10 17:12