2013-02-17 25 views
1

我在阅读'JavaScript Missing Manual',并且此脚本会自动添加此链接旁边链接的网址本身。在链接文本本身旁边添加指向网站外部的链接的URL

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

问题是它根本不起作用。有人能解释我这个代码有什么问题吗?

回答

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 
+0

感谢您的快速响应。我做了你的建议,但它仍然不起作用 – user2081160 2013-02-17 19:58:09

+0

我刚测试它,它工作。 DOM在加载后是否在执行? – fmsf 2013-02-17 20:16:27

+1

你走了,我完全忘了ready()函数。对不起,刚开始学习js和jquery。非常感谢花时间让我回复。 – user2081160 2013-02-17 20:27:50

0

我可以建议类似的,但更短,版本?

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

很多fmsf的解决方案+一个小修改,使代码更短。 o/

相关问题