2014-11-06 50 views
0

我有一个小项目用一些引号,我想输出他们在一个div和控制台不断抛出我“无法读取属性”null“未定义”,我不知道为什么或错误在哪里?数组说明未定义的问题

我当前的代码是这样的:

var daHash = location.hash.substring(1), 
    wrapper = document.getElementById("wrapper"), 
    favs = localStorage.getItem("quoteLoved"), 
    favA = favs.split(","), 
    modal = document.getElementById("modal"), 
    overlay = document.getElementById("overlay"); 

modal.style.display = "block"; 
overlay.style.display = "block"; 
for (var i = 0; i < (favA.length - 1); i++) { 
    var favQ = favA[i]; 
    modal.innerHTML = modal.innerHTML + "<section>" + "<cite class=' id " + favQ + "' contenteditable='true'>arroz" + "</cite>" + "<p class= id " + favQ + ">queso" + "<span class='dev_fav'></span>" + "</p>" + "</section>"; 
}; 
for (var i = 0; i < (favA.length - 1); i++) { 
    var classes = Number(modal.getElementsByClassName("id")[i].classList.item(2)); 
    modal.getElementsByClassName("id")[i].innerHTML = quotes[classes]; 
}; 
location.hash = ""; 

是Chrome的抛出是modal.getElementsByClassName("id")[i].innerHTML = quotes[classes];

quotes[classes]是内部的各种文本的数组的问题。

编辑:

引号阵列是这样的:

var quotes = [ 
    "Some text blah", 
    "Some text blah blah", 
    "Some text blah blah and blah blah, you know.." 
]; 

当我做这一切的控制台不会引发错误,我不知道为什么它会抛出时,它执行脚本。

+1

第1步:找出什么是'未定义'。应该很容易开始调试。 – 2014-11-06 19:19:46

+0

定义了quotes'的位置在哪里?你可以设置一个小提琴吗? – 2014-11-06 19:20:37

+0

这是问题队友,我不知道为什么它说'未定义',当它与脚本的所有其他功能一起工作。 @DaveNewton – 2014-11-06 19:20:48

回答

1

解决了这个问题,quotes变量名已被非数组变量使用,重命名了其他变量,代码现在正在工作。谢谢您的帮助。通过一些调试并仔细阅读脚本代码,我终于找到了错误。