jquery 搜索多张重新定位的卡片

jquery search for multiple cards with re-position

我正在使用 jquery 搜索包含多个 bootstrap 卡片的页面。代码工作正常:

<script>
$(document).ready(function () {
    jQuery.expr[':'].icontains = function (a, i, m) {
        return jQuery(a).text().toUpperCase()
            .indexOf(m[3].toUpperCase()) >= 0;
    };

    $('#txtSearch').keyup(function () {
        var text = $(this).val();
        // Hide all content class element
        $('.searchable').hide();
        // Search and show
        $('.searchable:icontains("' + text + '")').show();
    });
});

但是,找到的卡片保留在其原始位置,匹配的卡片显示空白。例如,第一行有4张牌,第三张牌符合条件,则隐藏前两张和最后一张,但第三张保留在原来的位置。我怎样才能重新定位所有找到的卡片,使其像没有其他卡片一样排列?

我知道原因了。这是因为我正在使用带有 col-lg-4 的行。一旦我删除了行和列,只使用卡片,它就可以工作了。但是我必须定义一个固定的宽度,这很好。