Javascript 属性未定义,但console.log可以看到它

Javascript 属性未定义,但console.log可以看到它,javascript,Javascript,我正在创建一个由sku、数量和小计组成的动态表单。因此,表单从没有输入开始,在用户搜索产品时填写。按键时,我需要计算总量,并通过javascript向用户显示 我使用在按键时通过getElementsByClassName获取所有数量输入元素并计算所有值。但是,浏览器返回错误(Uncaught TypeError:无法读取未定义的属性“value”),但我可以记录该值 我只使用本机JavaScript,不使用jQuery qtyelements = document.getElement

我正在创建一个由sku、数量和小计组成的动态表单。因此,表单从没有输入开始,在用户搜索产品时填写。按键时,我需要计算总量,并通过javascript向用户显示

我使用在按键时通过getElementsByClassName获取所有数量输入元素并计算所有值。但是,浏览器返回错误(Uncaught TypeError:无法读取未定义的属性“value”),但我可以记录该值

我只使用本机JavaScript,不使用jQuery

    qtyelements = document.getElementsByClassName('qty-element');
    var x;
    var count = 0;
    for(x = 0; x <= qtyelements.length; x++){
        console.log(qtyelements[x].value);
        count = count + parseInt(qtyelements[x].value);
    }
qtylements=document.getElementsByClassName('qty-element');
var x;
var计数=0;

for(x=0;xLength为您提供了项数,但集合是以零为基础的。因此,例如,虽然长度可能为3,但您只循环到2(0,1,2)

因此,改变:

x <= qtyelements.length

x是否在dom就绪状态下执行此操作?它记录所有未定义的值,但不记录该值。
x < qtyelements.length