0
var btnlist="";
$("#divPopup").on("click", "li", function () {
    var $this = $(this);
    // get currect id an replace with right
    var newId = $this.attr('Id').replace("Left", "Right")
    // check if the image is not for True
    if ($('#' + newId).find('img').attr('class') != 'checkImage') {
        $this.toggleClass("selected");
        if ($this.attr('class') == "selected") {
            btnlist.
            $('#' + newId).show(); // <== i want to store Newid each time when.show() method ex
        }
        else {
            var newId = $this.attr('Id').replace("Left", "Right")
            $('#' + newId).hide();
        }
    }
});

我想存储 btnlist。$('#' + newId).show();<== 我想在每次执行.show() 方法时存储Newid,我该如何存储它。?

例如,有 10 li 元素都被隐藏了!,现在让我们看看我点击 5 li 元素,然后将它们显示出来!

如何创建可见项目列表?像这样的 var visiable = ([li1, li2, li3,li4,li5]); 我需要增加哪行代码才能实现这样的目标

4

2 回答 2

0

sessionStorage或者localStorage是键/值对,您所要做的就是:

sessionStorage.newId = newId;

您可能需要检查浏览器是否支持它:

if(typeofsessionStorage)!=="undefined")
{
  // storage supported
}

更新

sessionStorage并且localStorage不支持数组,但您可以将数据存储为 json 字符串:

sessionStorage.newIds = JSON.stringify([1, 2, 3]);
var ids = JSON.parse(sessionStorage.newIds);
于 2013-03-16T10:05:18.533 回答
0

您可以使用Amplifyjs 商店插件

从文档:

amplify.store 是各种持久客户端存储系统的包装器。amplify.store 支持 IE 5+、Firefox 2+、Safari 4+、Chrome、Opera 10.5+、iPhone 2+、Android 2+,并提供一致的 API 来处理跨浏览器的存储。

样品用法:

amplify.store(key, value)       // => store the value on the given key

var value = amplify.store(key); // => extract the value on the given key

编辑

要在 HTML5 会话存储中存储值,您应该查看此链接:

http://www.nczonline.net/blog/2009/07/21/introduction-to-sessionstorage/

编辑-2

我创建了一个小提琴,您可以在其中看到用于访问所有 li 项目以及如何保存单击项目的代码。

工作小提琴

于 2013-03-16T10:10:17.467 回答