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.

questionAnswers(1)

yourAnswerToTheQuestion