一个页面工作,但另一个页面得到:未捕获的TypeError:无法读取未定义的属性“长度”

时间:2017-04-03 10:16:21

标签: javascript debugging uncaught-typeerror

我有两个网页上有相同的表格,所以我写了一个脚本,以便轻松修改它们。该脚本在一个页面上完美运行,但在另一个页面上它得到一个Uncaught TypeError无法在第18行读取未定义的属性“length”。

var i, j, dat, lnk, txt;
var pak1, pak3, pak2;

lnk = ''; //Just a long string
lnk += '';

pak1 = ["1 GB","50 kr","30 dagar","",lnk];
pak2 = ["3 GB","100 kr","30 dagar","",lnk];
Pak3 = ["10 GB","200 kr","30 dagar","",lnk];

dat = [pak1, pak2, pak3];

txt = '<table class="table table-striped detail-info"><tbody><tr><td class="title-col"><h5>Data</h5></td>';
txt += '<td><h5>Cost</h5></td><td>Limit</td><td></td><td></td></tr>';

for(i = 0; i < dat.length; i++){
    txt += '<tr>';
    for(j = 0; j < dat[i].length; j++){//Error occurs here
        if(j === 0){
            txt += '<td class="title-col">' + dat[i][j] + '</td>';
        }else{
            txt += '<td>' + dat[i][j] + '</td>';
        }
    }
    txt += '</tr>';
}

txt += '</tbody></table>';

document.getElementById("infoTable").innerHTML = txt;

我在两个页面上使用相同的html来加载脚本,它们位于同一个文件夹中。

<!-- SCRIPT -->
<div id="infoTable"></div>
<script src="./script/infoTable.js"></script>
<!-- END SCRIPT -->

我没有很多JavaScript使用经验,所以非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您的示例中有一个拼写错误,Pak3您想要pak3