定位1个元素并非所有jquery js

时间:2012-07-20 15:40:31

标签: jquery mouseover

我在网格中几乎没有跨度,我遇到了一个小问题。当我悬停1个元素时,所有隐藏的跨度都被激活。我想只激活一个徘徊。

                $('.tried-it').live('mouseover', function(){
                    $('.tried-times').fadeIn(500).addClass("show-me").removeClass("hide-me");
                });

                $(".tried-it").live('mouseout',function() { 
                    $(".tried-times").fadeOut(500).removeClass("show-me").addClass("hide-me");
                    return false; 

                });

and span:

<span class="tried-times hide-me">30 times</span>
<span class="tried-it"></span>

2 个答案:

答案 0 :(得分:2)

构建元素似乎是一种奇怪的方式,但如果它们只是一个接一个地放置,我会做类似的事情:

$(document).on({
    mouseenter: function(){
        $(this).prev('.tried-times').addClass("show-me")
                                    .removeClass("hide-me")
                                    .fadeIn(500);
    },
    mouseleave: function() { 
        $(this).prev('.tried-times').fadeOut(500)
                                    .removeClass("show-me")
                                    .addClass("hide-me");
    }
}, '.tried-it');​

这是FIDDLE

答案 1 :(得分:0)

这样的东西应该可以工作,只对触发事件的元素的实例进行操作。请注意,选择器为$(this)而不是$('.tried-times')

$('.tried-it').live('mouseover', function(){
    $(this).fadeIn(500).addClass("show-me").removeClass("hide-me");
});

$(".tried-it").live('mouseout',function() { 
    $(this).fadeOut(500).removeClass("show-me").addClass("hide-me");
    return false; 
});