0

我正在使用 jQuery 访问网页上的链接,代码如下:

$('a[href]').each(function() {
  $(this).attr('class', 'visited');
  $(this).attr('href', '#');
})

链接上的类将被更改,但 href 不会。有什么东西阻止我改变/改变href吗?

编辑:

我将代码更新为以下内容:

$('a[href]').each(function() {
        $(this).addClass('visited');
        this.href = '#';
        })

然而,虽然它适用于大多数网站,但它不适用于 news.yahoo.com。为什么会这样?

4

2 回答 2

3

对于 href,您可能希望使用.prop()而不是.attr().

对于类名,在大多数情况下您希望使用.addClass()而不是覆盖整个类属性。

于 2013-05-02T18:35:53.640 回答
3

您不需要使用 jquery 包装器this来执行此操作:- 您可以href作为属性从this 自身访问,因为它代表 dom 元素。

$('a[href]').each(function() {
 ...
   this.href ="#";
})
于 2013-05-02T18:37:05.657 回答