Javascript 在应用(筛选)多级选择时存在问题

Javascript 在应用(筛选)多级选择时存在问题,javascript,jquery,Javascript,Jquery,请看一下这个片段,让我知道为什么我不能从元素中仅选择女性和红色?如您所见,我试图从data color=“red”data gender=“women”中仅获取女性和red框` $(“a[数据性别=女性,[数据颜色=红色]”) $(“a”)。每个(函数(){ $(this.css('background',$(this.data(“color”)); $(this).text($(this).data(“性别”)) }); $([a[data gender=women],a[data colo

请看一下这个片段,让我知道为什么我不能从元素中仅选择
女性
红色
?如您所见,我试图从data color=“red”data gender=“women”中仅获取女性
red
框`

$(“a[数据性别=女性,[数据颜色=红色]”)

$(“a”)。每个(函数(){
$(this.css('background',$(this.data(“color”));
$(this).text($(this).data(“性别”))
});
$([a[data gender=women],a[data color=red])。removeClass('zoomOut')。addClass('zoomIn')
.zoomOut{
显示:无;
}
.zoomIn{
显示:单元;
}

您可以这样做:

$("a").each(function() {
  if(this.attr('data-color') == 'red' && this.attr('data-gender') == 'women')
  {
    this.removeClass('zoomOut').addClass('zoomIn');
  }
});

如果您使用的是多属性过滤器,那么只需声明元素一次

$(“a[数据性别=女性][数据颜色=红色]”)

找到下面的工作解决方案

$(“a”)。每个(函数(){
$(this.css('background',$(this.data(“color”));
$(this).text($(this).data(“性别”))
});
$(“a[data-gender=women][data-color=red]”。removeClass('zoomOut')。addClass('zoomIn')
.zoomOut{
显示:无;
}
.zoomIn{
显示:单元;
}

试试这个

问题是你的选择器

$(“a[数据性别=女性,[数据颜色=红色]”)

这是错误的,如果您想按多个属性过滤,那么就不需要使用“,”或重复标记它本身,只需使用多对[]而不使用“,”分隔

查看更多信息

换成这个

 $("a[data-gender='women'][data-color='red']")
$(“a”)。每个(函数(){
$(this.css('background',$(this.data(“color”));
$(this).text($(this).data(“性别”))
});
$([a[data-gender='women'][data-color='red'])).removeClass('zoomOut').addClass('zoomIn')
.zoomOut{
显示:无;
}
.zoomIn{
显示:单元;
}


选择是什么意思?您想如何选择它?在我的回答中,您可以在
IF
条件中做任何您想做的事情,因为它只会通过
标签,这些标签上有
颜色=红色
性别=女性