设置链接的href的链接文字与jQuery

问题描述:

我:设置链接的href的链接文字与jQuery

<a class='special' href='#'>something</a> 
<a class='special' href='#'>anything</a> 

我需要的页面加载,使其:

<a class='special' href='something'>something</a> 
<a class='special' href='anything'>anything</a> 

喜欢的东西:

$('a.special').attr('href', $(this).text()); 

它是如何可以做到?

您可以对您的收藏集运行each(),这会将href设置为文本,但稍微优雅一点就是提供function as the second parameter for attr()

$('a.special').attr('href', function() { 
    return $(this).text(); 
}); 

jsFiddle Demo

还有的.attr()方法,它允许你传递一个函数作为第二个参数的重载:

$('a.special').attr('href', function() { return $(this).text(); }); 

this是不是你在这里期待什么。

$('a.special').each(function(e) { $(e).attr('href', $(e).text()) });