我正在尝试将字符串用作对象文字中的键,然后在将该字符串添加到HTML li元素中的数据属性的函数中使用该字符串。基本思想是创建用户ID,然后联系特定用户进行更新/删除。创建部分工作正常。
首先,我需要将信息输入到我的li元素中,以便点击为我提供我想要的ID。下面的代码有效,但只是因为我在对象中包含了id。复制字符串 - userguid键 - 在对象内部使用它似乎是愚蠢和错误的。
users = {
"0c7270bd-38e8-4db2-ae92-244de019c543": {
datecreated: "2013-10-15",
email: "jimmy@example.com",
firstname: "Jimmy",
lastname: "Smith",
username: "jimmysmith",
password: "foobar",
notify: "barbour@4j.lane.edu",
userguid: "0c7270bd-38e8-4db2-ae92-244de019c543"
},
"0c7270bd-38e8-4db2-ae92-244de019mju7": {
datecreated: "2013-10-16",
email: "mary@example.com",
firstname: "Mary",
lastname: "Jones",
username: "maryjones",
password: "foobar2",
notify: "barbour@4j.lane.edu",
userguid: "0c7270bd-38e8-4db2-ae92-244de019mju7"
}
};
使用它的功能:
displayUserList = function() {
var newHTML;
users = JSON.parse(localStorage["users"]);
newHTML = [];
$.each(users, function(index, user) {
return newHTML.push('<li data-userguid="' + user.userguid + '" data-firstname="' + user.firstname + '"><span class="userfullname">' + user.firstname + ' ' + user.lastname + '</span></li>');
});
/*
jquery css going on here
*/
};
我想从对象内部获取userguid。我已经尝试使用各种各样的东西来定位该字符串并将其带入html但没有任何作用。我还希望能够将其定位为更新和删除。
我试过
user user[user] user.user
我开始觉得我错过了使用对象文字的基本规则,但我没有在搜索中找到它。
感谢您的帮助。
查理·马吉
答案 0 :(得分:1)
当使用$.each
迭代对象时,index参数会接收键,因此您可以这样做:
newHTML.push('<li data-userguid="' + index + '" data-firstname="' + user.firstname + '"><span class="userfullname">' + user.firstname + ' ' + user.lastname + '</span></li>');
此声明中您不需要return
。 $.each()
对返回值的唯一作用是对===false
进行测试 - 如果是,则循环结束。