jQuery如何影响mouseOver上的单个元素

时间:2009-09-25 14:53:46

标签: javascript jquery

由于我还在学习,这个问题似乎很容易回答,但我还是要问。

我如何更改此脚本,因此它不会显示所有工具提示?

现在发生的事情是,只要我在.pink-nose a上悬停所有.tooltip同时正在淡入

    $(function(){
        var pn = $('.pink-nose a')
        var tp = $('.pink-nose .tooltip')

        tp.css({'display':'none'})
        pn.mouseover(function(){
            tp.fadeIn()            
        })
    })

提前感谢您的帮助

2 个答案:

答案 0 :(得分:2)

不应在处理函数中使用tp,而应从this(被鼠标悬停的元素)开始,并遍历其相关的工具提示。像这样:

$(function(){
    $('.pink-nose .tooltip').hide();

    $('.pink-nose a').mouseover(function(){
        $(this).parents('.pink-nose:first').find('.tooltip').fadeIn();
    })
})

确切的遍历将取决于标记的结构,请查看jQuery documentation for Traversing以找出哪种方法效果最佳。

答案 1 :(得分:-1)

$('.pink-nose .tooltip').hide().each(function() {
    var $this = $(this);
    $this.parents('a').mouseover(function() {
        $this.fadeIn();
    });
});