我有一个无序的链接列表,我需要将索引作为数字附加到.
所以,href="#"读href="#1",href="#2"等等.
我明白我可能需要使用,.each()但我的语法 - 还没有达到临近.
我的一部分知道这很荒谬,但我有一个星期一的atm.
您是指所选元素集中元素的索引吗?如果是这样,您可以使用.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中起作用.