首页 > 解决方案 > 无法读取未定义的属性“样式”,但样式正在工作

问题描述

错误:未捕获的类型错误:无法读取未定义的属性“样式”。当我选择输入时,样式正在起作用。这个输入:

var input = document.getElementById('pa_rama').value;
    var option = document.getElementById('pa_razmer').value;
    let ramka = document.getElementsByClassName('woocommerce-product-gallery__image');

       if(input == 'chernaya') {
    for(var i=0; i < input.length; i++) {
      ramka[i].style.border = '50px solid black';    
      ramka[i].style.boxShadow = 'none';
}   
} 

怎么了?

标签: javascripthtmlcss

解决方案


你应该看看这篇文章: 如何正确地遍历 getElementsByClassName

您可能需要做的是:

var input = document.getElementById('pa_rama').value;
    var option = document.getElementById('pa_razmer').value;
    let ramka = document.getElementsByClassName('woocommerce-product-gallery__image');

       if(input == 'chernaya') {
    for(var i=0; i < ramka.length; i++) { //I think you want to loop on ramka.lenght and not input.lenght, right ?
      ramka.item(i).style.border = '50px solid black';    
      ramka.item(i).style.boxShadow = 'none';
}   
} 

推荐阅读