【发布时间】:2015-10-04 14:46:10
【问题描述】:
我有这个代码:
CSS:
.wrapper{width:400px}
.wrapper div{width:200px}
.odd {float:left}
.even {float:right}
HTML:
<div class="wrapper">
<div>Odd</div>
<div>Even</div>
<div>Odd</div>
<div>Even</div>
<div>Odd</div>
<div>Even</div>
</div>
jQuery:
$('.wrapper').each(function() {
var $children = $(this).children(),
$item;
$children.each(function(i) {
$item = $(this).addClass(i % 2 === 0 ? 'odd' : 'even')
});
});
如您所愿。
我的问题是,当一个被 jQuery .remove() 删除时,如何保留 .odd 元素 left 和 .even 元素 right ?
这个我试过了,但是明显不行:
$('.wrapper div').click(function(){
$(this).fadeOut(function(){
$(this).siblings().removeClass('odd');
$(this).siblings().removeClass('even');
$('.wrapper').each(function() {
var $children = $(this).children(),
$item;
$children.each(function(i) {
$item = $(this)
.addClass(i % 2 === 0 ? 'odd' : 'even')
});
});
$(this).remove();
});
});
任何建议都非常感谢!
【问题讨论】:
-
将它们添加到单独的容器
<div>s. -
子是 cmets,是动态添加的。不要认为可能有一个函数可以让每个浮动容器显示各自的第 n 个子元素?
标签: javascript jquery html css css-selectors