如何根据子名隐藏父div?

时间:2016-03-02 08:27:56

标签: javascript jquery html

我有一个包含众多div的页面。主div包含3个子div。我放了一个搜索框,我想根据我键入的内容显示主div并隐藏其他内容。

我在网上看了一下,到目前为止我设法做到了这一点:https://jsfiddle.net/qaho8hjt/6/

$('.my-textbox').keyup(function() {
    var value = $(this).val();
    var exp = new RegExp('^' + value, 'i');        

    $('.change_req .orizontala').each(function() {
        var isMatch = exp.test($('.projectName', this).text());
        $(this).toggle(isMatch);
    });
});

问题是我不知道如何隐藏父div。我只能隐藏我搜索的div。

谢谢。

编辑:谢谢大家的回复。

3 个答案:

答案 0 :(得分:4)

代码几乎没问题,只是你隐藏了具有内容的div,你应该隐藏它的直接父代demo

替换

$(this).toggle(isMatch);

$(this).parent().toggle(isMatch);

答案 1 :(得分:3)

您可以使用closest()获取最近的div。试试这个:

$(this).closest('.change_req').toggle(isMatch);

Updated fiddle

答案 2 :(得分:1)

试试这样:

$(this).parent().toggle(isMatch);

查看您编辑的代码here