我正在寻找样式a:访问文章列表中的链接。目前,这可以很好地将我的CSS中的颜色应用到:访问过的链接,但是,我正在追求更多的东西。我想在访问时在文章标题旁边添加一个小点。
我做了一些研究,看起来除了应用颜色之外的任何东西:访问过的链接不起作用(由于隐私问题,背景/背景图像支持已被删除)所以我想知道是否任何人都有任何提示或想法? jQuery的?
答案 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;}');
});
});
答案 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解决方案,放弃任何不同风格的想法。
a{color:red;}
a:visited{color:grey;}
&#13;
<a href="#">run snippet & click link to see effect</a>
&#13;