3

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

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

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

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

4

3 回答 3

3

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

于 2009-12-23T22:59:19.923 回答
2

你可以 ...

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

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

3)如果这些都不起作用,您可以尝试执行以下操作:

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

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

3C)在每个循环内调用 $("a").click() (可能在每个循环之间有某种延迟,以使页面有时间加载)

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

于 2009-12-23T22:57:35.397 回答
0

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

$('a').addClass('visited');
于 2009-12-23T22:58:32.747 回答