In the code below, friendBlocks has 800+ items that look like this:
Some Name
&l
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);