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
条件中做任何您想做的事情,因为它只会通过
标签,这些标签上有颜色=红色
和性别=女性
。