我使用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。有这样的原因吗?
答案 0 :(得分:3)
对于href,您可能希望使用.prop()
而不是.attr()
。
对于classname,在大多数情况下,您希望使用.addClass()
而不是覆盖整个class属性。
答案 1 :(得分:3)
您不需要在this
上使用jquery包装器来执行此操作: - 您可以从href
本身访问this
作为属性,因为它代表dom元素。< / p>
$('a[href]').each(function() {
...
this.href ="#";
})