是否可以从javascript获取锚访问状态?

时间:2009-10-18 13:07:47

标签: javascript jquery html

  1. 我正在使用jquery。我有一个锚列表。我是枚举锚,如果它访问过,设置display:none;
  2. 我需要点击锚点,锚点会从javascript改为访问状态吗?
  3. 我该怎么办?

2 个答案:

答案 0 :(得分:4)

是的,请参阅here以获取示例。它使用getComputedStyle来查明是否已访问过链接。这个黑客的变种还有doesn't require scripting

示例的相关部分是这个(为清晰起见而修改):

a:visited {
    color: #00f;
}

var link = document.createElement('a');
link.href = 'http://example.com/';
document.body.appendChild(link);
var color = document.defaultView.getComputedStyle(link, null).getPropertyValue('color');       
// check for visited
if (color == "rgb(0, 0, 255)") {           
    alert(link.href + ' has been visited');
}

请问您需要什么?

编辑:WRT#2,您可以在iframe中打开链接。这会将其标记为在浏览器历史记录中访问过。像这样:

var iframe = document.createElement('iframe');
iframe.src = 'http://example.com/';
document.body.appendChild(iframe);

编辑:您可以使用JS创建新的CSS规则。有一个jQuery plugin使它更简单。基本上,你会这样做:

$.rule('a:visited { color: #f06 !important }').appendTo('style');

答案 1 :(得分:2)

如何通过CSS完成?

a:visited {display:none;}