Прежде всего, сделайте кэшированную ссылку на ваши элементы, чтобы ускорить процесс:
var cache = $("ul.song_list a");
Затем выполните простое сопоставление строк, используя функцию jQuery filter()
и hide()
сопоставленные элементы:
cache.filter(function ()
{
return $(this).text().toLower().indexOf( <value from input> ) < 1;
}).hide();
Финальный фрагмент кода:
$(function ()
{
var cache = $("ul.song_list a");
$("#filter_song_list").keyup(function ()
{
var val = $(this).val();
cache.filter(function ()
{
return $(this).text().toLower().indexOf(val) < 1;
})
.hide();
});
});