0


0

li:lt(4)は、4より少ないすべてのリスト項目を取得していませんか?

これは私のHTMLです:

    Title Entry


    Title Entry



    Title Entry



    Title Entry



    Title Entry



    Title Entry



    Title Entry



    Title Entry

そして私のjQuery:

$(document).ready(function() {
$('ol#front-page').find('li:eq(4)').css("margin","0");
$('ol#front-page').find('li:lt(4)').append("New");

});

そして、私がやろうとしているのは、最初の3つのリスト項目にスパンを追加することです。 スパンを0要素に追加しますが、他の3要素には追加しませんか?

助けてくれてありがとう!

3 Answer


0


コードは、最初の4つのli要素のそれぞれの後にスパンを追加します。 それはあなたがやろうとしていることですか?


0


コードが実際に実行するデモについては、こちら(http://jsbin.com/upute)をご覧ください。

これにより、5番目の li`で margin`が `0`に設定されます(リストはゼロベースであるため)

$('ol#front-page').find('li:eq(4)').css("margin","0");

これにより、最初の4つのliのスパンが追加されます(==最後に)

$('ol#front-page').find('li:lt(4)').append("New");

おそらくあなたがしたいことはこれです。 4番目の要素でマージンを0に設定し、最初の4つの `li`にスパンを*追加*します。

$('ol#front-page').find('li:lt(4)').prepend("New");


0


’li:lt(4)'`を ’li:lt(3)'`に置き換えます。 :lt()フィルターはゼロベースのインデックスで機能するため、:lt(4)は要素0、1、2、3を意味します。

リファレンス:http://docs.jquery.com/Selectors/lt#index[Selectors/lt @ jQuery API]

P.D. おそらく ’li:eq(3)'`も必要でしょう