Javascript 更换滤清器并更换至或
我使用此代码筛选用户选择的选项。 这段代码按和过滤元素,但我需要将其更改为或 工作示例:Javascript 更换滤清器并更换至或,javascript,jquery,Javascript,Jquery,我使用此代码筛选用户选择的选项。 这段代码按和过滤元素,但我需要将其更改为或 工作示例: $('.flowers wrap,.planets wrap').delegate('input[type=checkbox],'change',function(){ 变量$lis=$('.flowers>div'), $checked=$('input:checked'); 如果($checked.length){ var选择器=“”; $($选中)。每个(函数(索引、元素){ 选择器+=“[data
$('.flowers wrap,.planets wrap').delegate('input[type=checkbox],'change',function(){
变量$lis=$('.flowers>div'),
$checked=$('input:checked');
如果($checked.length){
var选择器=“”;
$($选中)。每个(函数(索引、元素){
选择器+=“[data category~='”+element.id+”];
});
$lis.hide();
$('.flowers>div')。过滤器(选择器).show();
}否则{
$lis.show();
}
});
要使其成为或
选择器,需要用逗号分隔每个属性选择器。同样地,您可以使用map()
构建字符串数组,然后在使用它们之前将它们连接在一起
还要注意,delegate()
很久以前就被弃用了。您应该改用()上的
var$flowers=$('.flowers>div');
$('.flowers wrap,.planets wrap')。在('change','input[type=checkbox]',function()上{
var$checked=$('input:checked');
如果($checked.length){
变量选择器=$checked.map(函数(索引,元素){
返回“[datacategory~='”+element.id+”];
}).get().join(',');
$flowers.hide().filter(selector.show();
}否则{
$flowers.show();
}
});代码>
正文{
字体系列:“Arial”;
颜色:#6464;
}
.行星包装{
浮动:左;
宽度:20%;
利润率:0.5%0.0;
填充:0;
字体大小:12px;
}
.鲜花包装{
浮动:左;
宽度:20%;
利润率:0.5%0.0;
填充:0;
位置:相对位置;
}
h3{
字体大小:14px;
字体大小:正常;
}
.鲜花包裹,
.花卉包装标签{
字体大小:12px;
}
.花{
浮动:左;
宽度:50%;
}
.花卉部{
浮动:左;
宽度:90%;
高度:68px;
线高:68px;
填充:0.5%;
背景:#eee;
利润率:0.01倍;
位置:相对位置;
}
可用花卉
按颜色过滤花朵:
红色
黄色
紫色
其他
按大小过滤花朵:
小的
中等
大的
可用行星
火星
维纳斯
土
木星
土星
水星
臭花
凝乳机
雏菊
奇才袖
玫瑰
在js fiddle代码中,将字符串选择器替换为表变量选择器=[]
然后按如下方式将元素推送到它:selector.push(“[datacategory~='”+element.id+“]”)
然后遍历它:selector.forEach(sel=>{$('.flowers>div').filter(sel.show();})
你是说你的$('.flowers wrap,.planets wrap')
选择器吗?“工作示例:“按照这种方式,你的整个问题(包括任何必要的代码)必须在你的问题中,而不仅仅是链接。原因有两个:人们不应该非得去场外帮助你;链接腐烂,使问题及其答案对未来的人们毫无用处。请在问题中加一个。更多:是的,我添加了到JSFIDLE示例的链接