jquery mouseover target每个元素

时间:2014-11-06 20:21:43

标签: javascript jquery html css hover

我想说当我将鼠标悬停在.project上时,我希望显示p标签。但是我编写的代码同时显示了每个项目的所有p标记。我怎么能说只有当我在那个项目上出现那个项目下的p时。没有添加额外的课程?

$(document).ready(function() {

 $('.project').hover(
     function () {
       $('.project p').css({"visibility":"visible"});
     },
     function () {
       $('.project p').css({"visibility":"hidden"});
     }
 );

});

1 个答案:

答案 0 :(得分:7)

您需要使用this关键字,为此,您需要使用find()

$(document).ready(function() {

    $('.project').hover(
        function () {
            $(this).find('p').css({"visibility":"visible"});
        },
        function () {
            $(this).find('p').css({"visibility":"hidden"});
        }
   );
});

这是另一种方法

$('.project').on('mouseenter mouseleave', function(e) {
    $('p', this).css('visibility', e.type == 'mouseenter' ? 'visible' : 'hidden');
});