样式a:访问过的链接

时间:2013-01-16 11:40:40

标签: jquery css

我正在寻找样式a:访问文章列表中的链接。目前,这可以很好地将我的CSS中的颜色应用到:访问过的链接,但是,我正在追求更多的东西。我想在访问时在文章标题旁边添加一个小点。

我做了一些研究,看起来除了应用颜色之外的任何东西:访问过的链接不起作用(由于隐私问题,背景/背景图像支持已被删除)所以我想知道是否任何人都有任何提示或想法? jQuery的?

5 个答案:

答案 0 :(得分:2)

如果你想通过脚本设置样式而不是普通的CSS,jQuery不支持像:visited这样的伪类选择器。你必须使用普通的javascript

$(document).ready(function()
{
  $("#StyleAnchors").click(function()
  {
      //works
      $("a").css("background-color", 'yellow');
      //doesn't works
      $("a:visited").css("background-color", 'red');

  //works
  document.styleSheets[0].addRule('a:visited', 'color: green');
  //document.styleSheets[0].insertRule('a:visited{background-color: #00f;}');
  });
});

http://jsfiddle.net/prJUt/

答案 1 :(得分:1)

这是有效的,我知道,因为我已经尝试过了。虽然它似乎不适用于Chrome,但它适用于IE,所以它不是CSS的问题。

<style>
a:link
{
    color: #f00;
}
a:visited
{
    color: #0f0;
}
a:hover
{ 
    color: #00f;
}
a:active
{
    color: #ff0;
}
</style>
<a href="x" target="_blank">X</a>

所以在IE中试试这个:

a:visited:before
{
     content: ".";
}

如果这还不够,你必须在你的链接中添加某种点击事件,并从那里设置样式,例如(使用jQuery,虽然丑陋):

<a href="javascript:void(0)" onclick="$(this).html('.Link');">Link</a>

答案 2 :(得分:0)

您可以在<span>元素后放置<a>元素。隐藏这个元素。并使这样的css选择器a:visited + span ...就像这样。 有关css选择器的更多信息,请访问http://www.w3schools.com/cssref/css_selectors.asp 使用jquery你有更多的选择器选项,例如父母..但你肯定会在网上找到这些东西。

答案 3 :(得分:0)

您好,您可以为访问过的链接进行图像处理。例如,

a:visited {
     padding-left: 14px;
     background: url(images/checkmark.gif) left no-repeat;
}

答案 4 :(得分:0)

首先,您应该更改通知用户已访问过某个链接的方法:https://stackoverflow.com/a/10320628/2943403

因为更大的浏览器行业已采取特定步骤来通过限制访问链接被修改/样式化的方式来打击安全漏洞,如果您推出自己的javascript实现,它可能会引起用户对您页面/网站上的狡猾的怀疑。

此外,只要你的&#34;未访问&#34;文字颜色不是灰色的,我认为样式visited链接为灰色应该是相当直观的。出于这个原因,我会敦促你(以及未来的SO读者)应用这个简单的纯css解决方案,放弃任何不同风格的想法。

&#13;
&#13;
a{color:red;}

a:visited{color:grey;}
&#13;
<a href="#">run snippet & click link to see effect</a>
&#13;
&#13;
&#13;