JQuery:如何获取以相同ID字符开头的多个元素的特定属性类型计数

JQuery: how to get specific attribute type count, of multiple elements starting with same ID characters?

本文关键字:元素 开头 类型 属性 字符 ID 何获取 获取 JQuery      更新时间:2023-09-26

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动态更改颜色。最后,我想统计一下id以elem_id开头、颜色为"蓝色"的所有元素。

我正在努力追随。(尝试了许多变体(。总数是正确的,但蓝色计数总是0。不知道为什么。。。。

var blues = $('#[id^="elem_id"][font-color="blue"]').length;            
var total = $('#[id^="elem_id"]').length;

Pl建议。

***更新*******

删除了以前的更新。失败是由于添加属性时的拼写错误(在颜色之前添加了空白(。因此在匹配时失败(此处没有空白…(。

我现在已经很好地纠正了我的错误。

thx给所有人。

试试这个:

var blues = $('[id^="elem_id"][style*="color:blue"]').length; 

jsfiddle示例

尝试使用过滤器。。见下文,

$('span[id^=elem_id]').filter(function () {
    return this.style.color == 'blue';
}).length

演示:http://jsfiddle.net/braQw/

这是因为元素上没有属性字体颜色。

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);

JSFiddle