包含的$ .grep过滤器

时间:2015-10-08 16:06:19

标签: javascript jquery

我正在尝试使用grep过滤数组以应用CSS。我的代码如下所示。

var depos = $('.panel-default > .panel-heading');
var chkd = ['ABC','XYZ'];
var found_p = $.grep(depos, function(v) {
    return jQuery.inArray(v.innerText,chkd);
});

第一个问题是found_p没有从chkd过滤所需的数组值。过滤后,我该如何应用CSS?我尝试过如下,但它失败了

$(found_p[0]).css('background-color', 'red');

任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

假设您的代码尝试找到innerTextchkd数组中的值匹配的元素,则可以使用filter()方法。试试这个:

var $depos = $('.panel-default > .panel-heading');
var chkd = ['ABC','XYZ'];
var $found_p = $depos.filter(function() {
    return $.inArray($(this).text(), chkd) != -1;
});

然后$found_p变量将包含一个包含所有匹配元素的jQuery对象。您可以像这样对他们应用CSS:

$found_p.css('background-color', 'red');

Example fiddle

但是,我建议使用CSS类而不是添加内联样式,因为这是更好的练习。