仔细检查了一下,第二个也不正常,所有id都变成最后一个button的id,不是各自的id

解决方案 »

  1.   

    如果我没猜错你的i应该是全局变量
    在循环完成之后i会变成length-1,也就是最后一个button的索引号(假设是3)
    然后又因为你是在点击之后才调用i的,所以你每次点击的时候调用的是:
    addItem(buttons[3].id, "sides"); 
    你不会以为每次循环都会把对应的i给到括号里面,让buttons[i]变成buttons[1],buttons[2]这样子吧?
      

  2.   

    楼主如果使用js的闭包不出现该问题。
    要每次换回i的值,按照楼主的写法,最后调用的实际上只有最有一个button绑定了onclick
    擦2011年的贴