2013-01-17 61 views
2

我有这个标记:如何添加类很多类似元素的父与jQuery

<div class="fr_fieldsets_block"> 
    <fieldset>data</fieldset> 
    <fieldset>data</fieldset> 
    <fieldset>data</fieldset> 
    <fieldset>data</fieldset> 
</div> 

<div class="fr_fieldsets_block"> 
    <fieldset>data</fieldset> 
    <fieldset>data</fieldset> 
</div> 

现在我需要添加一些类fr_fieldsets_block元素,如果有3个以上fieldset元素。我尝试使用尺寸方法,但功能为每个fr_fieldsets_block块添加我的祝福类。我怎样才能执行这个真实的?这是我的js:

var fr_fieldsets_block = $('.fr_fieldsets_block'), 
    filter_row_fieldset = fr_fieldsets_block.find('fieldset'); 
filter_row_fieldset.filter(function(){return $(this).size() >= 3;}) 
    .parent().addClass('scroll-pane'); 

thx,求救。

回答

4
$('.fr_fieldsets_block').filter(function() { 
    return $('fieldset', this).length > 2; // >= 3 
}).addClass('scroll-pane'); 

http://jsfiddle.net/5esLP/

+0

完美的作品,多THX的帮助,我知道会出现一些问题与滤波方法:) THX再次 – Lukas

+0

@ŁukaszBorawski欢迎您,其实你应该过滤父元素不是它的子元素。 – undefined

+0

我看到现在:) br – Lukas

0
if ($('.fr_fieldsets_block').find('fieldset').length >= 3) 
{ 
    $(this).addClass('scroll-pane'); 
} 
+0

我试图这样做,但我想有一些问题,长工法,不工作,但thx求助;) – Lukas

0
$(".fr_fieldsets_block").each(function(){ 
    var fieldSetLength=$(this).find('fieldset').length; 
    if(fieldSetLength>3){ 
     $(this).addClass('newClass'); 
    } 
    }); 
+0

http://jsfiddle.net/avESb/2/。这是我的小提琴链接 – MAAAAANI