1

我正在阅读“JavaScript Missing Manual”,并且有这个脚本会自动在这个链接本身旁边添加一个链接的 URL。

$('a[href^="http://"]').each(function(){
    var href = $(this).attr('href');
    href = href.replace('http://', '');
    $['a'].after(' (' + href + ') ');
}); // end each

问题是它根本不起作用。有人可以解释一下这段代码有什么问题吗?

4

2 回答 2

1

更改此行

$['a'].after(' (' + href + ') ');

$('a').after(' (' + href + ') ');

$ 应该作为函数调用,而不是数组。

虽然查看您的代码,但您可能想要这个:

$(this).after(' (' + href + ') ');

编辑:

这是完整的代码:

$('a[href^="http://"]').each(function(){
var href = $(this).attr('href');
href = href.replace('http://', '');
$(this).after(' (' + href + ') ');
}); // end each
于 2013-02-17T19:49:35.633 回答
0

我可以建议一个类似但更短的版本吗?

$('a[href^="http://"]').each(function(){
    $(this).after(" ("+$(this).attr('href').replace("http://",'')+")");
}); // end each

几乎 fmsf 的解决方案 + 一个小的修改,使代码有点短。o/

于 2013-02-17T20:16:47.857 回答