无法使用jQuery更改href属性

时间:2013-05-02 18:33:14

标签: jquery html

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

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

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

编辑:

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

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

然而,虽然它适用于MOST网站,但它不适用于news.yahoo.com。有这样的原因吗?

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:3)

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

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