最初所有div都具有样式显示无属性。我通过jquery show方法启用div,如果里面有任何内容, 我想找到没有样式显示的div:none,并且每隔一个活动div后, 我想为page-break-after插入一个css:总是用于打印目的。我想在用户打印时在一个页面中只有2个div。 所以在这个例子中,我想在par4和par8
上插入用于分页符的css(简而言之,找到没有样式的div显示none并在每秒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 :(得分:3)
下面:
$( '#parent' ).children( ':visible:odd' ).css( 'page-break-after', 'always' );
现场演示: http://jsfiddle.net/KxGKG/2/
虽然我建议设置一个CSS类,而不是内联样式。设置/取消设置类比直接设置样式更容易。
答案 1 :(得分:1)
也许这可以帮助你,但CSS不是更好的解决方案吗?
$(function() {
$(".flip:nth-child(even)").css({ 'page-break-after': 'always' });
});
答案 2 :(得分:1)
jQuery:带有每个循环的可见选择器都可以实现。
$('.flip:visible').each(function(idx, elm) {
if(idx & 1 == 1) { // every 2nd one
$(this).css('page-break-after', 'always');
}
});
修改强> 第n个(偶数)选择更优雅(和短代码)。