0

如果我有:

<a href="#">Title </a> 
<a href="#">Title2 </a> 

我希望在第一个锚点上的 href 是 Title,在第二个锚点上是 Title2

我试过使用attr("href" function() { return this.text; });

4

2 回答 2

3

差不多好了 :

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

示范

于 2013-01-02T15:33:12.003 回答
1

改变它会是这样的:

$('a').each(function(i,e){
  this.href = '#' + $(this).text(); // using # because i assume named anchor?
});

那会改变:

<a href="#">Title</a>        -> <a href="#Title">Title1</a>
<a href="#">Title2</a>       -> <a href="#Title2">Title2</a>
  • 抓住所有锚点 ( $('a'))
  • 循环遍历每一个 ( .each())
  • 使用锚的文本 ( this.href = $(this).text())分配一个新值

'#' +如果您不想要指向命名锚/id 元素的链接,也可以从上面删除该部分,但很可能锚的显示文本提供的任何内容都不是有效的 URL)

于 2013-01-02T15:35:22.550 回答