gpt4 book ai didi

jquery为每个链接保存多个cookie

转载 作者:行者123 更新时间:2023-12-01 04:24:31 24 4
gpt4 key购买 nike

我的页面中有很多链接,点击每个addClass“投票”到该链接。然后将效果保存到cookie中。这样下次刷新网络浏览器时,它将保存 addClass 事件。

我的代码在这里,但它只会保存 1 个 cookie。我的意思是,如果我点击链接1链接2。它总是记住最后一次点击。刷新网络浏览器。仅link 2 addClass“投票”。 link1 错过了 addClass 事件。那么如何为每个链接保存多个cookie呢?谢谢。

<script type="text/javascript" src="script/jquery.js"></script>
<script type="text/javascript" src="script/cookie.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var cookieName = 'up';
var cookieOptions = {expires: 7, path: '/'};

$("#" + $.cookie(cookieName)).addClass('voted');

$(".up").live('click',function(e){
e.preventDefault();
$.cookie(cookieName, $(this).attr("id"), cookieOptions);
// save cookie depends on each link id.
$("#" + $.cookie(cookieName)).addClass('voted');
});
});
</script>

<a href="javascript:void(0)" id="m12345678" class="up">link 1</a>
<a href="javascript:void(0)" id="m12345679" class="up">link 2</a>
<a href="javascript:void(0)" id="m12345680" class="up">link 3</a>

上传我的代码:jsfiddle

最佳答案

更改 cookie 名称可能会解决问题。

var cn = cookieName + $(this).attr("id");
$.cookie(cn, cookieOptions);
// save cookie depends on each link id.
$("#" + $.cookie(cn)).addClass('voted');

更新:添加此更新是为了回答您更新后的问题:

function checkIfAllClicked(){
var flag = false;
$(".up").each(function(){
var f = $(this).data("isClicked");
if(f == true){
flag = true;
}
else{
flag = false;
}
});
if(flag){
// refresh the page or call any-other function you want
document.location.href = "any-url";
}
}

$(".up").live('click',function(e){
e.preventDefault();
$.cookie(cookieName, $(this).attr("id"), cookieOptions);
// save cookie depends on each link id.
$("#" + $.cookie(cookieName)).addClass('voted');
$(this).data("isClicked", true);
checkIfAllClicked();
});

关于jquery为每个链接保存多个cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7619039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com