クラスを持つ要素を選択して次の要素を取得する

ライブ検索があり、リスト要素に hover
のクラスが与えられています。次に、下向き矢印を押してホバークラスの後に次のli要素を取得しようとしています。
code>クラスをその要素に追加します。ここに私が持っているものがあります:

    if(e.keyCode == 40){
        var current = results.find('li.hover');
        current.removeClass();
        current.parent().next('li').addClass('hover');
        return false;
    }

次の要素にクラスを追加するだけではありません。現在のクラスはうまくいきます。私が間違っていることを確認していない。感謝します!

ベストアンサー

e.keyCode ではなく、 e.which を使用します。
jQueryはプロパティを正規化します(IEは e.keyCode をサポートしません)。

if(e.which == 40){

あなたのセレクタに関しては、これを試してください:

results.find('li.hover').removeClass().next('li').addClass('hover')

.next() looks for the next sibling matching the
selector, so there is no need to call .parent().

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です