如何使用JQuery只显示div子元素?

时间:2011-03-09 19:22:59

标签: javascript jquery html css jquery-selectors

所以我有这个jquery函数,它应该在悬停时显示一个类的隐藏范围。如何设置该功能,使其仅显示所选div的子跨度(而不是显示页面上的所有跨度)?

这是我的jquery函数:

$(".thumb").hover(
    function() {
       $(".blurb").show();
    },
    function(){
       $(".blurb").hide();
    }
);

您可以查看jsfidde here。谢谢!

4 个答案:

答案 0 :(得分:21)

这就是this的用途!

$(".thumb").hover(
    function() {
       $(this).children('.blurb').show();
    },
    function(){
       $(this).children('.blurb').hide();
    }
);

答案 1 :(得分:5)

使用$(this).children()而不是再次执行全局查询:

$(".thumb").hover(function() {
    $(this).children().show();
}, function() {
    $(this).children().hide();
});

工作演示:http://jsfiddle.net/h5x3f/2/

注意:如果您对支持Internet Explorer 6不感兴趣,可以完全避免使用jQuery / JavaScript并使用CSS的:hover伪类,这甚至可以在禁用JS的情况下使用。或者您可以使用像ie-7.js这样的垫片来为您处理:hover。有关示例,请参阅this variation of your fiddle

答案 2 :(得分:1)

首先选择div,然后选择其子项,例如

$("#mydiv").children(".blurb").show();

答案 3 :(得分:1)

这里有另一个使用'find'功能的解决方案:

    $(".thumb").hover(
        function() {
            $(this).find(".blurb").show();
        }, function() {
            $(this).find(".blurb").hide();
        }

    );
相关问题