Jquery 为什么属性长度为';未定义';?它被宣布为全球

Jquery 为什么属性长度为';未定义';?它被宣布为全球,jquery,Jquery,我在控制台中收到以下消息:uncaughttypeerror:尝试循环数组storede时无法读取未定义的属性“length” 我试图在单击函数中的数组storede的值之后,在单击函数中的数组storede的push()之外循环数组storede 代码: $(document).ready(function(){ var form = $('#newItemForm'); var list = $('ul'); var storede; $form.on('submit

我在控制台中收到以下消息:
uncaughttypeerror:尝试循环数组
storede
时无法读取未定义的属性“length”

我试图在单击函数中的数组
storede
的值之后,在单击函数中的数组
storede
push()
之外循环数组
storede

代码:

$(document).ready(function(){

  var form =  $('#newItemForm');
  var list =  $('ul');
  var storede;

  $form.on('submit', function(e) {
    e.preventDefault();
    var inp = $('input:text').val();
    $list.append('<li>' + inp + '</li>');
    $('input:text').val('');

  });

   $('ul').on('click', 'li', function(){
     storede =  [] ;
     var thisc = $(this).html();
     var updatedd = storede.push(thisc);
     $(this).remove();
   });


    for (var i = 0; i < storede.length; i++) {
    console.log(storede[i]);
    }

});
$(文档).ready(函数(){
变量形式=$('#newItemForm');
变量列表=$('ul');
var storede;
$form.on('submit',函数(e){
e、 预防默认值();
var inp=$('input:text').val();
$list.append('
  • '+inp+'
  • '); $('input:text').val(''); }); $('ul')。在('click','li',function()上{ storede=[]; var thisc=$(this.html(); var updated=storede.push(thisc); $(this.remove(); }); 对于(变量i=0;i
    已解决:

    $(document).ready(function(){
    
      var form =  $('#newItemForm');
      var list =  $('ul');
      var storede = [];
    
      form.on('submit', function(e) {
        e.preventDefault();
        var inp = $('input:text').val();
        list.append('<li>' + inp + '</li>');
        $('input:text').val('');
    
      });
    
       $('ul').on('click', 'li', function(){
    
         var thisc = $(this).html();
         var updatedd = storede.push(thisc);
         $(this).remove();
       });
    
    
    
       $('#showdeleted').on('click', function(e){
        e.stopPropagation();
        for (var i = 0; i < storede.length; i++) {
        console.log(storede[i]);
        }
    
      });
    
    });
    
    $(文档).ready(函数(){
    变量形式=$('#newItemForm');
    变量列表=$('ul');
    var-storede=[];
    表格(‘提交’)功能(e){
    e、 预防默认值();
    var inp=$('input:text').val();
    list.append('
  • '+inp+'
  • '); $('input:text').val(''); }); $('ul')。在('click','li',function()上{ var thisc=$(this.html(); var updated=storede.push(thisc); $(this.remove(); }); $('#showdelected')。在('click',函数(e){ e、 停止传播(); 对于(变量i=0;i
    “我正在尝试在单击函数之外循环数组storede”当页面加载且DOM准备就绪时,在storede填充之前,for循环正在运行。在单击
    ul
    中的一个
    li
    之前,它不会被定义。每次单击li时,它首先分配
    storede=[]
    。因此,它将只包含您最后单击的内容。