我有一个搜索功能,可以轻松地搜索一个包含data-attribute的div列表,以下是正常工作的代码。
$(".classToSearch").each(function(){
if ($(this).attr('data-attribute1').search(new RegExp(filter, "i")) < 0) {
$(this).animate({opacity:0.1},100);
} else {
$(this).animate({opacity:0.5},100);
}
});
我希望搜索功能能够通过多个数据属性进行搜索。我尝试了各种不同的格式,但是无法使其正常工作。下面是我认为它应该的样子。
$(this).attr('data-attribute1','data-attribute2','data-attribute3')
或者
$(this).attr('data-attribute1'||'data-attribute2'||'data-attribute3')
但我认为我需要使用某种形式的for循环。任何帮助都将不胜感激。
----------编辑-------------
我的解决方案这使搜索框可以搜索所有数据属性。
$(".classToSearch").each(function(){
if ($(this).attr('data-attribute1').search(new RegExp(filter, "i")) < 0 &&
$(this).attr('data-attribute2').search(new RegExp(filter, "i")) < 0 &&
$(this).attr('data-attribute3').search(new RegExp(filter, "i")) < 0 &&
) {
$(this).animate({opacity:0.1},100);
} else {
$(this).animate({opacity:0.5},100);
}
});
if( $(this).attr('data-attr1').search(..) || $(this).attr('data-attr2').search(..) ) {} else {}
吗?我只是提供建议,也许甚至可以这样做[ $(this).attr('data-attrib1'), $(this).attr('data-attr2'), $(this).attr('data-attr3') ].search(..)
。 - EricG