如何在点击事件上存储价值

时间:2013-03-16 10:02:46

标签: jquery html

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();&lt; ==每次when.show()方法执行时我想存储 Newid ,我该如何存储它。?

例如,有10个li元素都被隐藏了! ,现在让我们看看我点击5 li元素,并将它们作为show!

如何创建可见项目列表?像这样的东西var visiable =([li1,li2,li3,li4,li5]);我需要更多的代码来实现这样的代码

2 个答案:

答案 0 :(得分:0)

sessionStoragelocalStorage是键/值对,您所要做的就是:

sessionStorage.newId = newId;

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

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

<强>更新

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

sessionStorage.newIds = JSON.stringify([1, 2, 3]);
var ids = JSON.parse(sessionStorage.newIds);

答案 1 :(得分:0)

您可以使用Amplifyjs Store Plugin

来自文档:

  

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项目的代码以及如何保存点击的项目。

Working Fiddle