javascript - 单击 anchor 时如何设置/存储 cookie

标签 javascript jquery

我正在尝试使用 Cookie,以便即使在浏览器关闭/重新打开时,也会针对单击的 anchor 标记应用默认样式或特定样式。 因此,如果用户单击第二个链接,关闭或刷新浏览器并重新打开,那么该样式应该仍然处于事件状态,如果这是他们的第一次,则应该应用默认设置。 这有点超出我的地盘了。

这是 HTML:

<a id="default" href="#/">Default Style</a>
<a id="style2"  href="#/">Style 2</a>
<a id="style3"  href="#/">Style 3</a>

<ol>
<li><span>Hello World</span></li>
</ol>

JQuery:(对 StackOverflow 的赞美)

<script type="text/javascript">
$('#default').on('click',function(){
    $('ol li span').removeClass(function() {
          return $(this).attr('class');
        }).addClass('default');
});
$('#style2').click(function(){
    $('ol li span').removeClass(function() {
          return $(this).attr('class');
        }).addClass('style2');
});
$('#style3').click(function(){
    $('ol li span').removeClass(function() {
          return $(this).attr('class');
        }).addClass('style3');
});
</script>

CSS:

<style type="text/css">
.default{
color: #333;
}

.style2{
color: #999;
}

.style3{
color: #800;
}
</style>

最佳答案

通过操作文档对象 (document.cookie) 的 cookie 属性获取和设置 Cookie。 Mozilla 开发人员网络有一篇很棒的文章讨论了这一点,并提供了获取和设置 cookie 的便捷方法。 https://developer.mozilla.org/en-US/docs/DOM/document.cookie

注意:jQuery 不附带任何与 cookie 相关的方法,但可以使用插件将语法糖 ($.cookie) 放在这些方法周围。

否则,您可以检查您的 cookie 并在就绪回调中以通常的方式处理该逻辑。

    $(body).ready(function(){
       if (document.cookie.match("cookie_name")) {
          // Handle logic here
       }
    });

至于根据 anchor 击设置 cookie,您可以使用 onclick 属性,或将 href 属性设置为“javascript:yourFunction();”,或使用 jQuery 的 click 方法。

关于javascript - 单击 anchor 时如何设置/存储 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12774773/

相关文章:

jquery - 如何为 classyCountdown.js 插件设置特定的 GMT 结束时间?

jquery 使用 .nextUntil()

javascript - 如何在 Jquery UI 对话框中添加多个按钮?

javascript - 有没有办法在循环中对我的 javascript 函数进行编号?

javascript - 从文本中提取关键短语(1-4 个词的 ngram)

JavaScript 括号 $ ('#nr[1]' )

javascript - 如何将滚动条设置为该部分内的 div 容器?

jQuery 文件路径参数

php - 字段名称验证添加 with for with jquery 验证

javascript - 如何在 DOM 中专门定位元素