0

ユーザーがクラスのリンクにカーソルを合わせると、クラス"thumb" に最も近いリンクに"title"クラスが"media-link-hover"適用されます。これはどのように行うことができますか?

私もこれも試しclosest()ましたが、何も機能していないようです:

$('a.thumb').hover(function() {
    $(this)
        .prevAll('.block')
        .find('a.title')
        .addClass('media-link-hover');
}, function() {
    $(this)
        .prevAll('.block')
        .find('a.title')
        .removeClass('media-link-hover');
});

HTML:

<article class="block">
    <div class="inner-left">
        <a class="thumb" title="" href="">
            <img width="198" height="111" alt="" src="" />
            <span class="media-overlay">video</span>
        </a>
    </div>
    <div class="inner-right">
        <a class="title" title="" href="">Hello</a>
        <div class="description">
            <p>Hi there</p>
            <a class="teaser" href="">Hola</a>
        </div>
        <div class="media-stats">
            <span class="finder">Found by <strong>Me</strong> 1 month ago</span>
        </div>
    </div>
</article>
4

2 に答える 2

4

で動作しますclosest('.block')

http://jsfiddle.net/yBwSN/

于 2012-05-29T22:22:00.983 に答える
1

で試してみてください。parents()また、 を使用してコードを減らすこともできますtoggleClass()
デモ http://jsfiddle.net/elclanrs/Ce8fu/

$('a.thumb').hover(function() {
    $(this)
        .parents('.block')
        .find('a.title')
        .toggleClass('media-link-hover');
});
于 2012-05-29T22:17:41.097 に答える