2012-09-27 55 views
1

最初所有div都具有樣式顯示無屬性。我使用jquery show方法啓用div,如果裏面有任何內容的話, 我想找到沒有style顯示的div:none,並且在每隔一秒活動div之後,我想插入一個用於page-破壞後:總是用於打印目的。用戶打印時,我想在一頁中只有2個div。 所以在這個例子中,我要插入CSS對PAR4分頁符,並par8找到沒有樣式的div顯示none並且在每個div div中插入一個分頁樣式

(因此,在短期找到其中別有風情的顯示沒有並插入分頁符樣式每第二個div的div)

<div id="parent"> 
<div class="flip" id="par1" style="display:none;">empty</div>      
<div class="flip" id="par2">Image/content</div>       
<div class="flip" id="par3" style="display:none;">empty</div>      
<div class="flip" id="par4">Image/content</div>        
<div class="flip" id="par5" style="display:none;">empty</div>       
<div class="flip" id="par6">Image/content</div>       
<div class="flip" id="par7" style="display:none;">empty</div>        
<div class="flip" id="par8">Image/content</div>            
<div class="flip" id="par10" style="display:none;">empty</div> 
</div> 
+0

應該是UL/LI,而不是DIV/DIV。 –

+1

您是否嘗試過除HTML以外的任何其他內容? – 2012-09-27 11:35:24

+0

向我們展示您的代碼,「*通過jQuery顯示是否顯示任何內容*」(對於字符串「空」也是內容) – Bergi

回答

3

這裏:

$('#parent').children(':visible:odd').css('page-break-after', 'always'); 

現場演示:http://jsfiddle.net/KxGKG/2/

雖然我建議設置一個CSS類,而不是寫風格的行內。直接設置/取消設置類比直接設置更容易。

+0

+1替代方案http://jsfiddle.net/YpQvM/ – undefined

+0

@undefined OP沒有指定可見的DIV始終是孩子。 –

+0

是的,但jQuery收集呢? – undefined

1

也許這可能會幫助你,但不是CSS更好的解決方案嗎?

$(function() { 
    $(".flip:nth-child(even)").css({ 'page-break-after': 'always' }); 
}); 
+0

OP沒有指定可見的DIV總是甚至是兒童。 –

+0

好的,那麼$(「。flip:visible:n-child(even)」)呢?在選擇每一秒鐘(偶數)之前,不應該過濾不可見的元素嗎? –

+0

編號':nth-​​child'仍將DOM關係考慮在內。因此,無論在jQuery對象中的位置如何,偶數小孩都是偶數小孩。 –

1

與每個循環的jQuery:可見選擇器將做的伎倆。

$('.flip:visible').each(function(idx, elm) { 
    if(idx & 1 == 1) { // every 2nd one 
     $(this).css('page-break-after', 'always'); 
    } 
}); 

EDIT 第n個(偶數)選擇是更優雅(和短路代碼)。

+0

'if(idx&1 == 1)'?真? – undefined

+0

@undefined這似乎是一種不同的語言... –

+0

@ŠimeVidas是的,它會_ _做了trick_。 :) – undefined