【问题标题】:how to pass $(this) to jquery cookie如何将 $(this) 传递给 jquery cookie
【发布时间】:2013-11-27 03:58:30
【问题描述】:

我正在尝试使用 Jquery Cookie 来实现这一点。 单击“.preview”后,它会转到另一个页面,但是当用户返回时,我希望突出显示他们访问过的列表。因此,他们知道他们以前浏览过哪一个。 注意:如果有其他方法可以在不使用 Cookie 的情况下实现这一点,那就太好了。 谢谢

 $('.Preview').click(function() {
    $.cookie('test', '1');
});

 $(document).ready(function() {
    if ($.cookie('test') == '1') {
        $(???).css('background-color', '#eeeeee');
    }
});

【问题讨论】:

  • 您不能将对象存储到 cookie。赋予所有元素持久且唯一的 id 并按 id 存储/选择
  • 使用 CSS 怎么样?假设元素是<a>nchors - .preview:visited { background-color: #eee; }
  • 我们不能用他们的索引号来实现这个吗?
  • 菲尔,很遗憾,这不是我的选择
  • 也许一些 localStorage 会更合适? developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage

标签: jquery cookies parameter-passing


【解决方案1】:

您可以将 JSON 对象保存到 cookie 中,但有一种技巧,它不是直接保存对象,但您可以将其保存为字符串并将其解析为 JSON 对象并使用它。

function savecookie()
{
    var cdata = new Array("data1", "data2")
    var data = "{\"one\":\"" + cdata[0] + "\", \"two\":\"" + cdata[1] + "\"}";
    createCookie("Data", data, 1);
}

function printcookie()
{
    var c = readCookie("Data");
    c = unescape(c);
    var cdata = jQuery.parseJSON(c);
    $("#val").html(cdata.two + "  " + cdata.one);
}

Working demo

【讨论】:

  • 只是一个快速提示 - 在您的答案中插入代码时,无需使用 <pre><code> 标签。只需缩进 4 个空格或使用“格式代码”按钮。
  • 谢谢!虽然我试过了,但我还是把它搞砸了:)下次会记住。
  • 你将如何使用上面的代码准确地解决这个问题?我对杰森不熟悉。
  • 我更新了 dmeo 链接,希望这能告诉你如何使用它! json is not diff可以找到教程w3schools.com/json
猜你喜欢
  • 2011-12-07
  • 2010-11-01
  • 1970-01-01
  • 2016-12-11
  • 1970-01-01
  • 2016-02-27
  • 2012-02-28
  • 2015-09-13
  • 1970-01-01
相关资源
最近更新 更多