我基本上有一个内容列表,所有内容都转到外部url(它将在新窗口中打开)。截至目前,我将a:visited设置为灰色,尽管我真正喜欢的是使整个列表项(包含其单击的锚链接)具有降低的不透明度。

您可以在reddit上看到此行为。

比如说你有

<div class="item">
  <a href="http://google.com">Click me</a>
</div>


然后您有许多.item

我想要这样,以便当您单击链接时,整个div都可以“查看”:visited状态,因此.item设置为opacity: .5;,而不仅仅是文本变为灰色。

有没有办法用JS或CSS做到这一点?

最佳答案

看来jQuery中没有:visited选择器。查看此插件以包括它:
http://remysharp.com/2008/02/25/visited-plugin/

使用此插件,您可以使用以下任一方法来实现此效果:

$("a").visited().each(function() {
    $(this).parent().css("opacity", "0.5");
});


或这个:

$(".item").filter(function() {
    return $(this).find("a").visited().length;
}).css("opacity", "0.5");

关于javascript - 如何利用:访问父元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11944278/

10-10 00:07