jQuery的新手,不明白为什么会这样。成功时,返回对象。每个代表一个用户名和个人资料链接。这个想法是用相关用户填充模态。以下是负责创建列表的代码:
$.each(data, function(i, item) {
var likeUser = $( ".user-container" ).clone();
likeUser.find(".username-title").html(item.user_login);
likeUser.appendTo( ".modal-body");
});
$('#myModal').modal('show');
每个用户列出一次,但最后一个用户除外,该用户重复两次。这是为什么?
此外 - 如果有更智能的方法来填充列表,请分享。克隆div似乎效率低下。
答案 0 :(得分:1)
这里的问题在于使用类名进行克隆,当第一次循环迭代时,它添加一个带有类名的元素,现在第二次在迭代中找到两个具有相同类user-container
的元素并创建两者的克隆在替换名称上它替换username-title
导致两次显示,如果你有3个项目,则第三次显示三次。
尝试:
$.each(data, function(i, item) {
var likeUser = $( ".user-container" ).first().clone();
likeUser.find(".username-title").html(item.user_login);
likeUser.appendTo( ".modal-body");
});
$('#myModal').modal('show');