Custom jQuery filter needs optimization

后端 未结 3 538
我寻月下人不归
我寻月下人不归 2021-01-15 12:36

In the code below, friendBlocks has 800+ items that look like this:

Some Name &l
3条回答
  •  梦毁少年i
    2021-01-15 12:51

    Do not apply the manipulation on each item in real-time! Clone the node, that contains the block divs, perform the operation, and then replace the original DOM.

    Something like (not tested, just example):

    friendform   = $('#container').clone();
    friendBlocks = friendform.find('.block');
    filterFriends = function(text) {
        friendBlocks.each(function() {
            var block;
            block = $(this);
            if (block.children('.title').text().toLowerCase().indexOf(text) >= 0) {
                block.show();
            } else {
                block.hide();
            }
        });
    };
    $('#container').replaceWith(friendform);
    

提交回复
热议问题