Jquery:将链接标记为已访问但未打开它们?

时间:2009-12-23 22:50:05

标签: jquery loops hyperlink browser-history visited

我无意改变链接(我听说这是不可能的,但如果不是我想知道如何)。如果需要这样做,我可以将它添加到浏览器历史记录中。

我想遍历页面上的所有<a>并将其状态更改为已访问。例如:

$("a").each(function(){
   //mark as visited (somehow?)
});

基本上在我的页面上创建“全部标记为已读”按钮。 有什么想法吗?

3 个答案:

答案 0 :(得分:3)

创建一个访问过的链接(即将其href设置为window.location),并将每个目标链接的样式设置为新创建的链接的计算样式。

答案 1 :(得分:2)

你可以......

1)尝试使用AJAX(即$ .get(a.href)),但我不知道这是否真的有效。

2)尝试设置链接以查看访问(通过更改其CSS“颜色”属性),尽管这种方法实际上不会使它们进入访问过的链接

3)如果这些都不起作用,你可以尝试做类似的事情:

3A)在页面上创建一个隐藏的IFRAME

3B)将一个目标属性添加到页面上的每个A标签,使它们指向隐藏的IFRAME

3C)在每个循环内部调用$(“a”)。click()(可能在每个循环之间有某种延迟,以便给页面加载时间)

如果这些都不起作用,我认为你运气不好。

答案 2 :(得分:0)

实际上并不是你想要的方式,但是你可以将a:的CSS属性复制到一个名为“visited”的新类中,或者将它们应用到你想要的链接上。

$('a').addClass('visited');