繁体   English   中英

jQuery(或JS)-如何仅从数组中获取特定颜色的元素?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM