jQuery: Générique sélecteur de classe dans removeClass

Ce bout de code fonctionne pour supprimer une classe existante, avant d'en ajouter un nouveau, quand je le spécifier directement (c'est à dire, 'ratingBlock', 'ratingBlock1', 'ratingBlock2', etc.). Mais lorsque j'utilise un sélecteur générique dans le removeClass ('[class^="ratingBlock"]'), il ne fonctionne pas. Suis-je en train de faire quelque chose de mal? Merci.

<style type="text/css">
.ratingBlock {background:gold !important;}
.ratingBlock1, .ratingBlock2, .ratingBlock3, .ratingBlock4, .ratingBlock5 {background:LightGreen;}
</style>

<div class="test block ratingBlock">
Broken
<div><a href="#" class="ratingLink ratingNo-1">1+</a></div>
<div><a href="#" class="ratingLink ratingNo-2">2+</a></div>
<div><a href="#" class="ratingLink ratingNo-3">3+</a></div>
</div>

<script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function(){
    initRatingWorks();
});

function initRatingWorks() {
    jQuery("a.ratingLink").bind('click', function() {
      var star = jQuery(this);
      var ratingBlock = star.parents('div.test.block');
      var rating = star.attr('class').match(/\d+/);

      if (ratingBlock.attr('class').indexOf('ratingBlock') !== -1) {
          ratingBlock.removeClass('[class^="ratingBlock"]').addClass('ratingBlock' + rating);
      }
      else {
          ratingBlock.addClass('ratingBlock' + rating);
      }

      return false;
    });
}
//]]>
</script>
.removeClass accepte également d'une fonction.

OriginalL'auteur mheppler9d | 2013-04-16