8

我想在点击后改变超链接的颜色,但是剩余的超链接颜色也改变了..

CSS

a:active {
    color: gray;
}
a:visited {
    color:black;
}

HTML

<body> 
    <a href="link1.html">a</a>
    <a href="link2.html">b</a>
    <a href="link3.html">c</a> 
</body>
4

2 回答 2

10

:visited伪类作用于浏览器的历史。所有三个链接都以黑色绘制的事实意味着您的浏览器过去曾访问过它们。如果您要清除历史记录或更改链接的 url,您会发现它们没有被归类为“已访问”。

指向 Stack Overflow的链接可能会在您的浏览器中显示为已访问,但指向“圣战之声”的链接可能会显示不同的颜色(除非您是塔利班成员)。单击未访问的链接会将其颜色更改为已访问的颜色(如 Stack Overflow 的样式表中所定义),并且只要该页面存在于浏览器的历史记录中,它就会保持“已访问”状态。

于 2013-06-12T10:01:47.780 回答
2

好的,现在您知道这:visited可以从浏览器历史记录中进行,并且我认为您只想更改单击链接的颜色。我把一些jQuery放在一起

$('a').click(function(){
      $(this).addClass("visited");
});

和 CSS

a{
color:#000;
text-decoration:none;
}

a.visited{
color:#205081;
}

更新:

  ....
  ....
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>// import jQuery
  <script>
  enter the script here..
  </script>
  </body>

这是小提琴

于 2013-06-12T11:54:29.200 回答