Javascript TypeError声明列表未定义

时间:2016-09-28 15:36:00

标签: javascript arrays function

我创建了一个函数,它接收一个列表作为输入,然后对该列表进行操作:

<div class="header">

</div>
<div class="inner_block_wrapper">
  <div class=" inner_block ">
    <div class="column ">
      <img src="http://www.healthytravellovers.com/wp-content/uploads/2016/09/photo233227749810088605.jpg " />
    </div>
    <div class="column ">
      <img src="http://www.healthytravellovers.com/wp-content/uploads/2016/09/photo233227749810088607.jpg " />
    </div>
    <div class="column ">
      <img src="http://www.healthytravellovers.com/wp-content/uploads/2016/09/photo233227749810088606.jpg " />
    </div>
  </div>
</div>
<div class="footer ">
  test
</div>

列表由一些字符串组成:[“a-b-c”,“a1-b1-c1”等]

我想逐个处理字符串,在操作符“ - ”之后将它们拆分,然后对其进行一些操作以帮助我在DOM中选择一些项目。

有趣的是,代码按预期工作,但是在我得到的控制台中 以下错误:

function selected_items(list) {
    for (i=0;i<=list.length;i++){
        item = list[i].split("-");
        item_id = item[0] + '-' + item[1] + '-' + item[2]
        user_id = item[4]
        $('#shift_data_' + user_id).children('#' + item_id).toggleClass('selected')
    }
}

即使代码正在运行,有关为什么我收到此错误的任何想法?

1 个答案:

答案 0 :(得分:0)

您正在将列表循环到范围之外。尝试更改此内容:

for (i=0; i<=list.length; i++){

由此:

for (i=0; i<=list.length - 1; i++){

或者这个:

for (i=0; i < list.length; i++){