2013-01-17 59 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