Javascript 根据数据属性更改多个项目的颜色
因此,有三个属性为Javascript 根据数据属性更改多个项目的颜色,javascript,jquery,loops,custom-data-attribute,Javascript,Jquery,Loops,Custom Data Attribute,因此,有三个属性为数据填充的项,每个项都有一个span,其类为.number。如果值小于20,则项目应为黑色,否则为红色。有什么想法吗?我怎样才能让他们进入某种循环,这样它就可以分别针对每个项目 if($(“.item”).attr('data-fill')
数据填充
的项,每个项都有一个span,其类为.number
。如果值小于20,则项目应为黑色,否则为红色。有什么想法吗?我怎样才能让他们进入某种循环,这样它就可以分别针对每个项目
if($(“.item”).attr('data-fill')<20){
$(“.number”).css(“颜色”、“黑色”);
}
.number{
颜色:红色;
}
20
40
30
您需要对元素进行迭代,并使用number
类设置相应元素的样式
$(“.item”)。每个(函数(){
如果($(this).attr('data-fill')<20){
$(this.find(“.number”).css(“颜色”、“黑色”);
}
});代码>
.number{
颜色:红色;
}
20
40
30
为此,您需要记住以下几点:
有多个.item
元素,因此您需要在每个元素上循环,并使用classnumber
检查span
的值
您需要找到相应.item
元素的.number
元素,以便仅更改该.number
元素的颜色
由于它是数据
属性,因此可以使用.data()
而不是.attr()
:
var elem=$(“.item”);
$(元素)。每个(函数(){
如果($(this).data('fill')<20){
$(this.find(“.number”).css(“颜色”、“黑色”);
}
});代码>
.number{
颜色:红色;
}
19
40
30
12
您可以使用过滤器()执行此操作:
$('.item').filter(函数(){
返回$(this).data('fill')<20;
}).find('.number').css('color','black')代码>
.number{
颜色:红色;
}
20
40
30
或者,不使用JavaScript,也可以通过CSS实现这一点
.number{
颜色:红色;
}
.项目[数据填充^=“1”]:不是([data fill=“100”])。编号,
.项目[数据填充=“2”].编号,
.项目[数据填写=“3”].编号,
.项目[数据填充=“4”].编号,
.项目[数据填写=“5”].编号,
.项目[数据填写=“6”].编号,
.项目[数据填写=“7”].编号,
.项目[数据填写=“8”].编号,
.项目[数据填充=“9”].编号{
颜色:黑色;
}
19
40
30
感谢大家的精彩回答我在@Nikhil上做了这些回答,因为这是第一次,你的回答当然也一样好!:)