[英]jQuery (or JS) - How to get only elements that are certain colour from an array?
我正在制作一些交互式的清单。
他们要做的一件事是,如果都选中了标题,则将标题更改为不同的颜色,如下所示:
$("input[type='checkbox']").click(function(){
if(($(this).attr('name'))=="check1"){
maxchecked1 = $('[name="check1"]').length;
curchecked1 = $('[name="check1"]:checked').length;
console.log("First check"+curchecked1+"/"+maxchecked1);
if(maxchecked1==curchecked1){
console.log("all checked");
$("#head1 a").addClass('ccomplete');
}else{
$("#head1 a").removeClass('ccomplete');
}
}
CSS是
.ccomplete{
background:#66BC29 !important;
}
这很好。
我还想做的是进行相同的测试,但是要改变颜色的元素,以便在所有清单完成后发出信号。
我需要做的是
var heads_done = $(".checkhead a").css("background-color" , "#66BC29");
var heads_total = $(".checkhead a").length;
然后将heads_done与heads_total进行比较。
但是第一行是错误的,我不知道该怎么做。 我需要的是具有新颜色的.checkhead []数组中的项目数(类似于check1是元素数组)。
有什么办法吗?
检查颜色是不可靠的,因为浏览器通常不会返回十六进制值,而现在您正在设置颜色(未获取颜色),而是检查类
var heads_done = $(".checkhead a.ccomplete").length;
var heads_total = $(".checkhead a").length;
if (heads_done == heads_total) alert('all done')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.