针对1个元素不是所有jquery js

问题描述:

我在网格中有几个跨度,我有一个小问题。当我悬停1个元素时,所有隐藏跨度都被激活。我想只激活一个盘旋。针对1个元素不是所有jquery js

   $('.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; 

       }); 

和跨度:

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

是你的整个页面的跨度结构? – 2012-07-20 15:44:24

+0

是的..这是一个跨度结构 – 2012-07-20 16:47:49

这似乎是一个奇怪的方式来组织你的元素,但如果他们只是放置一个接一个,我会做一些事情,如:

$(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

+0

谢谢你的帮助,但没有运气。 – 2012-07-20 16:11:35

+0

@ user1174849 - 我添加了一个小提琴,也许这使得它更容易理解它是如何工作的? – adeneo 2012-07-20 16:40:10

+0

我已经看到你的小提琴。它在小提琴内工作。但在我的内容它没有:( – 2012-07-20 17:19:49

像这样的事情应该工作,就只有触发事件的元素的情况下运行。请注意,选择是$(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; 
}); 
+0

在没有任何反应的鼠标:)。在鼠标出元素是不可见的:)酷功能,但这不是我想要实现的。我曾尝试过:$(“。tried-it”)。hover(function(){(012)}()。 removeClass(“hide-me”);}); – 2012-07-20 16:13:41