jQuery乘以this.index

col*_*unn 2 html javascript css jquery

尝试编写一个简单的jQuery函数,它将对象的索引加倍,并将该值作为CSS分配给top对象.因此,如果有5个对象,则顶部的顶部值为20,第二个的值为40,第三个将设置为60,依此类推.这就是我所拥有的:

$('ul.nav li').each(function(){
    var $n = $('ul.nav li').index(this);
    $(this).css('top', 20 * n );
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Sam*_*son 12

index已提供$.each:

$("ul.nav li").each(function(index){
  $(this).css( "top", 20 * ++index );
});
Run Code Online (Sandbox Code Playgroud)

你的代码的问题是你是肌动蛋白$n,但使用 n(注意被遗弃$).

您还可以使用隐式循环:

$("ul.nav li").css("top", function(i){
  return 20 * ++i;
});
Run Code Online (Sandbox Code Playgroud)

  • 根据原来的问题应该是:`$(this).css("top",20*(index + 1));` (2认同)