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

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

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

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

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

你可以 …

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

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

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

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

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

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

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

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

这并不是你想要的方式,但是你可以将a:的CSS属性复制到一个名为“visited”的新类或者其他什么,然后将它们应用到你想要的链接。

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