使用jQuery基于链接文本设置链接href

时间:2011-11-17 08:02:50

标签: 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());

怎么做?

3 个答案:

答案 0 :(得分:3)

您可以在集合上运行each(),将href设置为文本,但更优雅的是提供function as the second parameter for attr()

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

jsFiddle Demo

答案 1 :(得分:2)

.attr()方法存在重载,允许您将函数作为第二个参数传递:

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

答案 2 :(得分:1)

this不是您期望的。

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