2

オブジェクトのインデックスを 20 倍し、その値を CSS としてオブジェクトに割り当てる単純な jQuery 関数を作成しようとしてtopいます。したがって、オブジェクトが 5 つある場合、上部の値は 20、2 番目の値は 40、3 番目の値は 60 というようになります。これは私が持っているものです:

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

私は何を間違っていますか?

4

1 に答える 1

12

indexはすでに提供されてい$.eachます:

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

あなたのコードの問題は、あなたが creatin$nであったが、使用して nいたことでした(放棄された に注意してください$)。

暗黙のループを使用することもできます。

$("ul.nav li").css("top", function(i){
  return 20 * ++i;
});
于 2012-05-18T16:15:39.030 に答える