我正在处理动态列表。这是标记和用于显示它的html。
markup += '<li><a href="#fbfullpostviewpage" id="addPostToLocalStorage" data-rel="dialog" data-transition="pop" data-overlay-theme="e" data-inline="true"><img src="' + thumb_url + '">' +'<h4>' + name + '</h4><p>' +'posted this photo....</p><p>'+likes+'<img src="images/facebook-like-16.png"></p></a></li>';
这是在一个循环内,因此它对每个列表项都执行此操作。在循环之后我有一个
$('#newsfeedposts').append(markup);
$('#newsfeedposts').listview("refresh");
但是,当单击列表中的每个项目时,我想将其添加到本地存储中。在上面的代码之后我这样做,
$('a').bind('click', function(){
localStorage.setItem("fbclickedPost", JSON.stringify(post));
console.log(post);
alert("this post was added to local storage");
// showDetailedPost(post);
var retrievedData = localStorage.getItem("fbclickedPost");
var facebookPost2 = JSON.parse(retrievedData);
console.log(facebookPost2);
它可以工作并记录以控制台数组项,但是问题是无论在列表上单击什么项,它总是仅将列表中的最后一项添加到本地存储中,但我想添加当前正在单击的项上,到本地存储。
请提供任何帮助!我已经挣扎了很久。