2014-01-29 190 views
0

我想通过存储在localStorage中的数组来循环访问,它应该在页面加载时创建一个新的div,其中包含存储在数组中的每个对象的信息。 但是当我添加的代码这部分我的网页将不会加载:加载时触发的代码阻止页面加载

if(localStorage.getItem('shift') !== null){ 
var shift_info = JSON.parse(localStorage.getItem('shift'),10); 
     for(var i = 0; i < shift_info.length; i = i + 1){ 
      $('#shifts_to_complete').append('<div id="'+ i +'" class="current_shift" data-role="fieldcontain"></div>'); 
      var obj = shift_info.pop(); 
      $('#'+ i +'').html('Location: ' + obj.shift_location + '<br>Date: ' + obj.shift_date + '<br>Shift Starts: ' + obj.start_time + '<br>Shift Ends: ' + obj.end_time + '<br>Hours Worked: ' + obj.duration + '<br>Pay for Shift: &pound' + shift_pay + '<br><button class="shift_button ui-btn ui-shadow ui-btn-corner-all ui-btn-up-b" id="btn_'+ length +'">Completed?</button>'); 
     } 
    } 

这似乎只是代码的最后两行,其防止网页加载。任何想法为什么?

干杯 詹姆斯

+0

在您的最后一行使用$('#'+ i)而不是$('#'+ i +''),并且好像会出现任何语法错误。请尝试在Firebug中找到它 –

+0

此外,最后一个变量被设置在按钮上的ID是只是id =“btn_'+长度+'”,也许它应该设置为我 – maxinacube

+0

啊当然,谢谢。它出现说,该对象没有方法'流行'这似乎很奇怪(核心jquery文件没有被称为两次或类似的,据我所知) – JamesF

回答

0

我有点傻里错过了一个obj.所以有一个未定义的变量。