1

この fiddleの hover で li に追加されているクラスがあります。

最後のliに.onクラスが適用されている場合、最初のliにクラスを追加できるようにしたい。私はこのようなことを試みましたが、うまくいかないようですか?

if ($("li.top-level:last").contains(document.on))
   {
        $('li.top-level:first').addClass('first');
   }

提案された回答でフィドルを更新しました。

4

1 に答える 1

4

あなたのフィドルに基づくデモ

var $link = $('ul.internal-dropdown li.top-level');
$link.hover(function() {
    $(this).addClass('on');
    if( $(this).is('li.top-level:last-child') ) {
        $('li.top-level:first').addClass('first');
    }

}, function() {
    $link.removeClass('on');
    $('li.top-level:first').removeClass('first');
});

.contains()jQuery にはメソッドがありません。ただし、.hasClass()メソッドがあります(名前が示唆することを行います):

if( $('li.top-level:last').hasClass('on') ) {
    $('li.top-level:first').addClass('first');
}
于 2012-08-01T03:31:45.597 に答える