jQuery只将一个类添加到一个锚而不是全部

时间:2013-07-30 08:48:55

标签: jquery function foreach each

我有这个功能:

$containing = jQuery('#test a').filter(function(){
    return jQuery(this).text().substring(0,2) == "Ba";
});

if ($containing.length > 0) {
    $containing.first().addClass('testtt');
}

这会将class添加到它找到的第一个锚点,但这不是我想要的。我想把课程提供给包含Ba的所有anchors ...我尝试用first替换each,但一切都没有发生。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

只需删除.first(),然后它将应用于jQuery数组中的所有对象,而不仅仅是第一个。

$containing = jQuery('#test a').filter(function(){
    return jQuery(this).text().substring(0,2) == "Ba";
});

if ($containing.length > 0) {
    $containing.addClass('testtt');
}

答案 1 :(得分:2)

只需删除.first()即可。 jQuery中的链接允许将大多数函数应用于所有选定的元素。

$containing = jQuery('#test a').filter(function(){
    return jQuery(this).text().substring(0,2) == "Ba";
});

if ($containing.length > 0) {
    $containing.addClass('testtt');
}