繁体   English   中英

无法读取未定义的属性“长度”

[英]Cannot read property 'length' of undefined

for (i = 0; i < count; i++) {
    var item = list.childNodes[i]._value;
    var RecID = item.RecID;
    var zerocount = 5 - RecID.length;
    var PicZeros = "";
    for (k = 0; k < zerocount; k++)
        PicZeros += "0";
    var url = "/p_" + PicZeros + RecID + "_01.jpg";
}

我收到此错误:

TypeError: Cannot read property 'length' of undefined 

我不明白怎么解决它?

好吧,在某些时候, list.childNodes[i]._value.RecID给你一个未定义的值。

这是问题的根本原因,您需要修复它。

也许count是错的,也许你已经填写了严重的列表,我们无法从给出的代码中真正说出来。

而且,顺便说一句,我几乎可以肯定,有一个更好的方法来填充0字符的字符串而不是循环。 就像是:

var url = "/p_" + "00000".substring(RecID.length) + RecID + "_01.jpg";

会更好。

尝试这个

for (i = 0; i < count; i++) {
    var item = list.childNodes[i]._value;
    var RecID = item.RecID;
    if (RecID){
        var zerocount = 5 - RecID.length;
        var PicZeros = "";
        for (k = 0; k < zerocount; k++)
            PicZeros += "0";
        var url = "/p_" + PicZeros + RecID + "_01.jpg";
    }
}

尝试

`item.getAttribute('RECID')`

要么

<script>标记放在<body>

喜欢

<html> 
<body>
 </body>
<script>
</script>
 </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM