需要在JQuery cookie中保存'this'值

时间:2013-09-24 06:37:13

标签: javascript jquery cookies

我在点击Jquery cookie中的li时保存了'this',但是为了保存它的值,它保存了它的类型:

     $("ul > li").live('click', function () {
    $.cookie("liEvent", this, { expires: 100, path: "/" });
alert(this);
    }

'this'coming的值是:[object HTMLLIElement],而它应该像在li里面的li元素一样。

请帮忙。

3 个答案:

答案 0 :(得分:2)

这有点高级解释,但this指针,而不是实际值。如果您希望能够访问其他功能中的li元素或类似元素,则可以传递其id属性或类似内容。

答案 1 :(得分:0)

你无法真正将对象保存到cookie中 - 因为会有太多的递归而且结果值会很大。您需要实现某种序列化,或存储可用于重新加载值的标识符。

我认为如果你使用的是cookie,你打算刷新页面吗?在这种情况下,this关键字对您没有好处 - 因为对对象的引用会发生变化。

答案 2 :(得分:0)

如果您需要将li的值存储到cookie中,您应该使用

      $(this).html()

使用.live()也有一些缺点...因此我建议您使用.on()。

     $("ul").on('click', "li", function () {..

这里讨论了.live()相关的问题jQuery disadvantages of consistently using 'live'