1

基本的に、要素の色をリスト内の色に置き換えるように、クラスが関連付けられている要素に CSS を挿入しようとしています。

機能していません。

コードは次のとおりです。

<script type="text/javascript">
jQuery(document).ready( function() {    
    var i = 0,
    colors = ['green', 'red', 'orange', 'brown', 'purple'];
    function setColor() {
     jQuery('.fc-event-skin').each.eq(i).css('background-color', colors[i  % colors.length]);
          i++;
        if (i == 4) {
            i = 0;
        }
    }})
</script>

私はこれに書き直しましたが、まだ機能していません:

jQuery(document).ready( function() {    
var i = 0,
    colors = ['green', 'red', 'orange', 'brown', 'purple'];

     jQuery('.fc-event-skin').each(function(i) {
         (this).css('background-color', colors[i  % colors.length]);
          i++;
    if (i == 4) {
        i = 0;
    }
     })
4

3 に答える 3

4

あなたはeach()間違っている。

$('.fc-event-skin').each(function(i, elem) {
    $(this).css('background-color', colors[i % colors.length]);
});
于 2012-06-11T18:31:36.923 に答える
1

jQuery.each()すでにインクリメントiされているので、それを行う必要はありません。これはうまくいくはずです:

jQuery(document).ready(function() {    
   var colors = ['green', 'red', 'orange', 'brown', 'purple'];

   jQuery('.fc-event-skin').each(function(i) {
       jQuery(this).css('background-color', colors[i]);
   });
});
于 2012-06-11T18:43:14.337 に答える
1

学習目的であれば、これを達成するためのより簡単な方法を次に示します。

jQuery(document).ready( function() {    
    var colors = ['green', 'red', 'orange', 'brown', 'purple'];
    jQuery('.fc-event-skin').css("background-color",function(i) {
         return colors[i % colors.length];
    });
});
于 2012-06-11T18:45:03.337 に答える