HTML:
....<span id="elem_id0" style="....color:blue...">some text</span>
....<span id="elem_id1" style="....color:blue...">some text</span>
....<span id="elem_id2" style="....color:black...">some different text</span>
....<span id="elem_id3" style="....color:blue...">some text</span>
...
我正在使用javascript动态更改颜色。在这一切的全部内容中,我想要计算所有以idm_id开头并且颜色为“蓝色”的元素。
我正在努力追随。 (尝试了很多变化)。总计正确,但蓝计数总是来0.不知道为什么....
var blues = $('#[id^="elem_id"][font-color="blue"]').length;
var total = $('#[id^="elem_id"]').length;
Pl建议。
的 的 **** 更新的 * ** < EM> * ***
删除了之前的更新。失败是由于添加attr时的拼写错误(在颜色之前添加了空格)。匹配时失败(这里没有空格......)。
我现在纠正了我的错误。
总而言之。答案 0 :(得分:5)
答案 1 :(得分:1)
这是因为元素上没有属性font-color。
var blues = $('[id^=elem_id]').filter(
function() {
var color = jQuery(this).css("color");
return color==="rgb(0, 0, 255)" || color==="blue";
}
);
console.log(blues.length);
答案 2 :(得分:1)
尝试使用过滤器..见下文,
$('span[id^=elem_id]').filter(function () {
return this.style.color == 'blue';
}).length