Bug do Safari: first-child não atualiza display: bloqueia quando itens são removidos com JS
Com uma lista de itens em que todos estão ocultos por padrão, o primeiroli
tem umdisplay
doblock
. O problema é que isso não será atualizado se o primeiro elemento for removido, fazendo de fato um novo first-child que deve ser exibido. No Safari, o novoli
que deve mostrar não é exibido.
HTML
<ul class="list">
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
</ul>
<button>click me </button>
CSS
.list .item { display: none }
.list .item:first-child { display:block}
JS
$('button').on('click', function(e) {
$('ul li:first').remove().appendTo($('ul'));
});
Veja o violino:http://jsfiddle.net/BFTan/1/
Em todos os outros navegadores, clicar no botão percorrerá os itens, mas no Safari não há atualizações.