我有:
<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());
怎么做?
答案 0 :(得分:3)
您可以在集合上运行each()
,将href设置为文本,但更优雅的是提供function as the second parameter for attr()
。
$('a.special').attr('href', function () {
return $(this).text();
});
答案 1 :(得分:2)
.attr()
方法存在重载,允许您将函数作为第二个参数传递:
$('a.special').attr('href', function() { return $(this).text(); });
答案 2 :(得分:1)
this
不是您期望的。
$('a.special').each(function(e) { $(e).attr('href', $(e).text()) });