在点击时将一个类添加到ancer标记并使用cookie保存它

时间:2016-04-24 20:39:54

标签: javascript jquery cookies

直截了当,这是我的简单代码。

 $(".vm-options a").click( function() {
        $(this).addClass("vmselected").siblings().removeClass("vmselected");
    });

<div class="vm-options">
                <a href="#" class="vm-icon vm-list vmselected" id="list">List view</a>
                <a href="#" class="vm-icon vm-grid" id="grid">Grid view</a>
            </div>

现在我需要它来记住我的选择每次我点击'a href'标签,我该如何添加cookie。

谢谢你。

2 个答案:

答案 0 :(得分:0)

使用Javascript Cooke plugin并撰写Cookies.set('name', 'value');

jQuery Cookie plugin并撰写$.cookie('name', 'value');

答案 1 :(得分:0)

此示例使用js-cookie library,您需要将其包含在页面中,如下所示:

<script src="https://rawgit.com/js-cookie/js-cookie/master/src/js.cookie.js"></script>

您可以使用它来存储和检索所选链接的ID,这样:

// Select the currently saved VM at page load
selectVM();

// Do it on click too
$(".vm-options a").click(selectVM);

function selectVM()
{
    var elem = $(this);
    // If the call doesn't come from a click (eg on page load),
    // get the one saved in a cookie or the default one: "#list"
    if(this === window) elem = $('#' + (Cookies.get('selectedVM') || 'list'));

    elem.addClass("vmselected").siblings().removeClass("vmselected");
    // Save it for 7 days
    Cookies.set('selectedVM', elem.id, { expires: 7 });
}

此处,ID使用以下内容保存在名为selectedVM的Cookie中

Cookies.set('selectedVM', value);

并使用:

检索
Cookies.get('selectedVM');

简单!