jquery为每个链接保存多个cookie
我在页面中有很多链接,请单击每个jquery为每个链接保存多个cookie,jquery,cookies,Jquery,Cookies,我在页面中有很多链接,请单击每个addClass“投票”到此链接。然后将效果保存到cookie中。因此,下次刷新web浏览器时,它将保存addClass事件 我的代码在这里,但它将只保存一个cookie。我的意思是如果我点击了链接1,链接2。它总是记得最后一次点击。刷新web浏览器。仅链接2添加类已投票链接1错过了添加类事件。那么,如何为每个链接保存多个cookie呢?谢谢 <script type="text/javascript" src="script/jquery.js">&
addClass
“投票”到此链接。然后将效果保存到cookie中。因此,下次刷新web浏览器时,它将保存addClass
事件
我的代码在这里,但它将只保存一个cookie。我的意思是如果我点击了链接1,链接2。它总是记得最后一次点击。刷新web浏览器。仅链接2
添加类
已投票<代码>链接1错过了添加类
事件。那么,如何为每个链接保存多个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>
$(文档).ready(函数(){
var cookieName='up';
var cookieOptions={expires:7,路径:'/'};
$(“#”+$.cookie(cookieName)).addClass('voated');
$(“.up”).live('click',函数(e){
e、 预防默认值();
$.cookie(cookieName,$(this.attr(“id”),cookieOptions);
//保存cookie取决于每个链接id。
$(“#”+$.cookie(cookieName)).addClass('voated');
});
});
在中上载我的代码:更改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();
});
解决了。在此引用:
向所有人分享答案
$(document).ready( function() {
$(function() {
var cookieName = 'up_';
$('.up').each(function() {
var id = $(this).attr('id'), cookie = cookieName + id;
if ($.cookie(cookie) !== 'ture') {
$(this).addClass('voted');
}
}).live('click', function(e) {
e.preventDefault();
$.cookie(cookieName + $(this).attr('id'), true);
});
});
});
你在使用哪个
cookie.js
u?请提供link@diEcho,https://github.com/carhartl/jquery-cookie
谢谢,那么$(“#”+$.cookie(cn)).addClass('voated')代码>从菜单中单击?js变量无法从单击中传出。请在中上载我的代码http://jsfiddle.net/RQP4T/show/
。我只想记住所有点击的行为。如果我单击了所有3个链接,然后刷新web浏览器,它将记住addClass中的3个链接。如果你擅长,你能为我重新编写一个工作代码吗?谢谢。@Giberno如果答案已满,请投票,如果问题解决,请接受,please@king.net,未捕获引用错误:未定义cookieName
请参阅http://jsfiddle.net/RQP4T/1/show/
OM!!!我只是把主代码放在答案里!你应该完成它!写这行:`var cookieName='up';var cookieOptions={expires:7,路径:'/'}`