0

我正在使用 jQuery Cookie 来存储来自单击元素(以标志图像作为背景的链接元素)的值,一旦单击,它将在不同的目标位置更改 HTML。

例如,下面我尝试定位a.flag,然后设置一个定位为 的cookie a.nturl,然后在其中找到第一个img标签并输出该src图像元素的:

$("a.flag").click(function(event) {
    location.reload();
       $.cookie("language_name", event.target.id, { path: "/" });
       $.cookie("flag_url", $("a.nturl").find("img").attr("src"), {path: "/" });       
}); 

然后是检索 cookie 并以 HTML 格式输出它们的函数:

 $(function() {
               var language_name = $.cookie("language_name");
               var flag_url = $.cookie("flag_url");
                  if (language_name === "English"){ 

                  $("div.selected").html( "<a onclick=\"return false;\" href=\"#\"><span><img src=\"" + flag_url + "\" alt=\"English\" height=\"16\" width=\"16\"></span>" + language_name + "</a>");  

               }

出于某种原因,flag_urlcookie 没有正确存储值 - 它当前仅存储src来自a.nturl.

当使用以下代码在目标本身内执行操作时,下面的代码似乎效果很好 $(this)

$("a.nturl").click(function(event) {
   location.reload();
               $.cookie("language_name", $(this).attr("title"), { path: "/" });
               $.cookie("flag_url", $(this).find("img").attr("src"), {path: "/" });

            }); 
4

1 回答 1

0

在调用页面重新加载之前,您应该对 session 进行处理,因此您应该编写:

$("a.flag").click(function(event) {
    $.cookie("language_name", event.target.id, { path: "/" });
    $.cookie("flag_url", $("a.nturl").find("img").attr("src"), {path: "/" });       

    location.reload();

});

于 2013-09-25T23:03:01.537 回答