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疑似クラスはブラウザの履歴に作用します。3 つのリンクがすべて黒色で描かれているという事実は、ブラウザが過去にアクセスしたことがあるということです。履歴を消去したり、リンクの URL を変更したりすると、それらが「訪問済み」として分類されないことがわかります。

スタック オーバーフローへのリンクは、おそらくブラウザーでアクセス済みとして表示されますが、Voice of JIHAD へのリンクはおそらく別の色で表示されます (タリバンのメンバーでない限り)。未訪問のリンクをクリックすると、スタック オーバーフローのスタイルシートで定義されているように、その色が訪問済みの色に変わり、そのページがブラウザーの履歴に存在する限り、「訪問済み」のままになります。

于 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 に答える