私はこのコードを持っています:
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 によって要素が削除されたときに.odd
要素left
と.even
要素を保持するにはどうすればよいですか?right
.remove()
私はこれを試しましたが、明らかにうまくいきません:
$('.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();
});
});
どんな提案も本当に感謝しています!