0
$("#footer div ul li").each(function(a) {
    $("#footer div ul li:nth-child(" + a + ")").css({
        left : 275*a - 275 + "px"
    });
});

jQueryを使用してすべてのliの左オフセットを生成したいと思います。最初の要素はleft:0px、2番目は275px、3番目は550pxなどである必要があります。.each()ループのようなものがあることがわかりましたが、これは最初の要素に対してのみ機能します。
誰かが私が間違っていることを教えてもらえますか?

4

2 に答える 2

1

使用するだけthis

 $("#footer div ul li").each(function(a) {
         $(this).css({
            left : 275*a - 275 + "px"
        });
    });
于 2012-07-15T11:28:03.477 に答える
0

どうですか:

$("#footer div ul li").each(function(index, element) {
    $(this).css({
        left : 275*index + "px"
    });
});

インデックスは0ベースである必要があるため、なぜ275を減算するのかわかりません(-275px、0px、275pxなどが得られるはずです)。

次のように、jQueryが渡すdomElementを操作することもできます。

$("#footer div ul li").each(function(index, element) {
    element.style.left = 275*index + "px";
});
于 2012-07-15T11:29:06.407 に答える