我在点击Jquery cookie中的li时保存了'this',但是为了保存它的值,它保存了它的类型:
$("ul > li").live('click', function () {
$.cookie("liEvent", this, { expires: 100, path: "/" });
alert(this);
}
'this'coming的值是:[object HTMLLIElement],而它应该像在li里面的li元素一样。
请帮忙。
答案 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'