如何使用javascript动态更改访问链接的颜色

how to change visited link color dynamically using javascript?

本文关键字:访问 链接 颜色 何使用 javascript 动态      更新时间:2023-09-26

我使用jquery.创建了动态列表(带超链接的列表)。当我第一次单击该链接时,它将转到下一页。我在点击链接时使用了cookie来保存链接值的索引。再次运行该应用程序在onload中从cookie中获取保存的索引值。使用该值可以更改特定链接的颜色。现在我想再次运行该应用程序,该链接显示为红色,其他链接(未访问)显示为蓝色。如何做到这一点?

   $(".sidemenu li ").click(function() {  
              var index = $('li').index(this); 
             // alert(index);
              checkCookie(index);
            // saveid(index);
              });
    }   
    function checkCookie(index)
    {
     var linkindexvalue=index;
     // alert(linkindexvalue);
      setCookie("indexvalue",linkindexvalue,365);

    }
    function setCookie(c_name,value,exdays)
    {
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + value;
    alert(document.cookie);
    }
    $(document).ready(function(){
    var list=getCookie("indexvalue");
    if(list=='1'){
    alert(" ");
     $(".sidemenu li").css("background-color","red");
    }
  });
    function getCookie(c_name)
    {
    alert("hj");
    var value = "";
    var DocumentCookie = " " + document.cookie + ";";
    var CookieSearchStr = " " + c_name + "=";
    var CookieStartPosition = DocumentCookie.indexOf(CookieSearchStr);
    var CookieEndPosition;
    if (CookieStartPosition != -1) {
    CookieStartPosition += CookieSearchStr.length;
    CookieEndPosition = DocumentCookie.indexOf(";", CookieStartPosition);
    value = unescape(DocumentCookie.substring(CookieStartPosition, CookieEndPosition));
    }
    return value;
    }  

请引导我。

提前感谢

使用css:visited标记。否则,如果你想在没有任何插件的情况下通过jquery来实现,那么请参阅我在jsfiddle上的实现http://jsfiddle.net/JjMAX/1/.

实际上有一个jQuery Visited插件,可以让您在页面中获得访问过的链接。

一旦包含,您可以选择链接并附加一个具有新颜色的类:

$('.sidemenu li a').visited().addClass('visited');

请注意,在这种情况下,您必须在<li>中添加一个<a>,因为我不认为访问的功能与锚点上的链接严格相关,而与列表项上的单击无关。

如果相反,您需要使用Cookie选项,请给我一些时间检查您的代码!:)