var data=[];
var jn={};
var obj;
$(".btn-success").click(function(){
$(".list-group li").each(function(e){
obj=$(".list-group li").eq(e);
jn.id=obj.attr('id');
jn.sort=e;
data.push(jn);
console.log(jn);
})
console.log(data);
})

为什么data里的值都是一样的
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为jn引用的都是同一个对象,你塞了99次同一个jn到data里,所以会一样。
改一下再试试
var data=[];
var jn={};
var obj;
$(".btn-success").click(function(){
})
对象是引用类型,放在堆里面,当把对象放到数组里时,其实是指向原来的对象,然后,对象变了,也就是数组里面对象变了。(感觉自己说的有些混乱)