Jquery multiple selectors with this

2020-02-15 02:45发布

I've searched but can't find how to do this. I'm trying to make the elements with comment-modbox inside this hide and show:

$('.comment-wrapper').each(function (index) {

    $(this, '.comment-modbox').mouseover(function () {
        $('.comment-modbox').show();
    });

    $(this, '.comment-modbox').mouseout(function () {
        $('.comment-modbox').hide();
    });
});

This code just hides and shows all comment-modbox regardless as to if they are contained within this.

Thanks for any help!

Answer:

$('.comment-wrapper').each(function (index) {

    $(this).mouseover(function () {
        $('.comment-modbox', this).show();
    });

    $(this).mouseout(function () {
        $('.comment-modbox', this).hide();
    });
});

1条回答
别忘想泡老子
2楼-- · 2020-02-15 03:29

try this (jQuery("selector", context)...)

$('.comment-wrapper').each(function (index) {

    $('.comment-modbox', this).mouseover(function () {
        $(this).show();
    });

    $('.comment-modbox', this).mouseout(function () {
        $(this).hide();
    });
});

Second choice:

$('.comment-wrapper').each(function (index) {

    var wrapper = this; 

    $('.comment-modbox', wrapper)
        .mouseover(function () {
            $(this).show();
        })
        .mouseout(function () {
            $(this).hide();
        });
});
查看更多
登录 后发表回答