【问题标题】:How to append items to a blank array?如何将项目附加到空白数组?
【发布时间】:2013-12-03 01:28:57
【问题描述】:

我有一个用于图像列表的 ul-li 块。单击相应图像时应删除,<span> 中的值应存储在变量中。每次单击时,img应该删除并且每个<span> 的值都应该附加到jquery 数组变量中。我做到了,但是当我警告数组变量时,它只显示当前单击的单个值。即不附加通过上一次单击生成的值。

我的 JavaScript:

function delImg(newthis){

   var Ids= [];

   $(newthis).parent().hide();
   var Id = $(newthis).siblings('.hidden').html();
   Ids.push(Id);
   alert(Ids);
   return Ids;

}

问题是alert(Ids) 给出了单个变量而不是数组。

【问题讨论】:

  • Id 本身就是一个数组
  • @LauriElias,对我来说更像是一个字符串 (html)。 Shabasy:你的数组中只有一项。
  • 使用 console.log 而不是警报用于这些和类似目的

标签: javascript jquery arrays push


【解决方案1】:

你需要在函数外声明你的数组

var Ids = [];

function delImg(newthis){
   // ...
}

【讨论】:

    【解决方案2】:

    将数组的声明放在函数的之外(这样你就不会每次都重置它):

    var ids = []
    function delImg(newThis){
        $(newThis).parent().hide();
        var id = $(newThis).siblings('.hidden').html();
        ids.push(id);
        return ids;
    }
    

    此外,命名约定建议您应该使用驼峰式命名您的变量名,所以我已经这样做了。

    【讨论】:

      猜你喜欢
      • 2013-09-03
      • 2020-10-30
      • 2015-09-12
      • 2021-11-30
      • 2015-02-04
      • 2017-10-13
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多