将索引附加到href

For*_*ass 2 each jquery

我有一个无序的链接列表,我需要将索引作为数字附加到.

所以,href="#"href="#1",href="#2"等等.

我明白我可能需要使用,.each()但我的语法 - 还没有达到临近.

我的一部分知道这很荒谬,但我有一个星期一的atm.

Fel*_*ing 5

您是指所选元素集中元素的索引吗?如果是这样,您可以使用.attr()并传递一个函数:

$('a').attr('href', function(i, value) {
    return value + (i+1);
});
Run Code Online (Sandbox Code Playgroud)

当然,你必须只选择你想要的那些链接,例如给你的列表一个ID:

$('#theList a')
Run Code Online (Sandbox Code Playgroud)

更新:

jQuery 1.3.2(以及之前)似乎存在一个错误. 似乎旧值未传递给回调.所以你必须明确地读取值:

return this.href + (i+1);
Run Code Online (Sandbox Code Playgroud)

当然,如果旧的值总是#那么你可以将它与索引连接起来:

return '#' + (i+1); 
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,你可以each()在这种情况下使用,因为@Shadow向导在他的回答中显示.传递函数的优点attr只是避免了对属性的两次访问(一次读取,一次读取),这似乎无法在jQuery 1.3.2中起作用.