2016-08-06 16 views
3
$('#mainlist').last().hide().fadeIn(200); 

なぜ、最後のものではなくリスト内のすべてのアイテムが隠れているのですか?jQuery .last().findIn()リスト内のすべてのアイテムにフェードインする

編集:HTMLのセクション:

<div id="mainbox"> 
    <ul id = "mainlist"> 

    </ul> 
</div> 

私のjsがLiとULに付加し、それが上に示した最初のコードを実行します。

+1

あなたのHTMLコードを追加しますか? –

答えて

4

リストには、$("#mainlist")が返す要素が1つのみ存在します。最後に#mainlistを選択しています(ul)。

.last()メソッドは、選択された要素の最後の子ではなく、DOM要素のリストの最後の要素を選択します。 jQuery docsから

:DOM要素の集合を表すjQueryオブジェクトを考える

、 .last()メソッドは、セット の最後の要素から新しいjQueryオブジェクトを構築します。

代わりに$('#mainlist li').last().hide().fadeIn(200);のようなものが必要です。

+1

Mr Beavisに帽子をかける! – undefined

1

あなた#mainlist要素が(それは、このように、すべての要素をラッピング<ul>を隠しています)、リスト項目の前に<ul>を包む/別の子を持っているからです。たぶんちなみにEDIT

$("#mainlist li").last().hide().fadeIn(200); 

あなたのセレクタと、より具体的にしてみてください、これはあなたの<ul><li>タグで満たされている前提としています。

関連する問題