我正在尝试制作一个页面,我可以在其中按图像的源名称进行过滤。
我找到了这个脚本,但它只适用于文本: http: //kilianvalkhof.com/2010/javascript/how-to-build-a-fast-simple-list-filter-with-jquery/
小提琴:jsfi ddle.net/sVJRk/
我需要按图像源过滤什么?见:jsfi ddle.net/sVJRk/1/
任何建议都会很棒!
在回答标题中提出的问题时,attribute contains selector
您正在寻找的是:
$('img[src*="sport"]')
这将选择所有images
,其中src
属性包含sport
。
具体到你的问题,有很多问题:
$('#list')
给listFilter
函数,您没有带有 that 的元素id
。$(list)
,你已经list
作为一个 jQuery 对象传递了,所以不需要再次包装它。anchors
包含给定字符串的字符串,但您的列表中没有任何字符串anchors
(您有images
)。:Contains
如果您只需要检查字符串是否包含在src
of 中,则不需要自定义选择器image
(您可以使用属性 contains selector)。Jquery contains filter 是您正在寻找的答案。可以在这里找到一个轻量级版本:http: //jsfiddle.net/artuc/vTQq3/
$('input').on('keyup', function(){
$('.imageList img').not('[src*="'+$(this).val()+'"]').hide();
$('.imageList img[src*="'+$(this).val()+'"]').show();
});