1

すべての #tips li 要素で「no-right-marg」のすべてのクラスを削除する必要があります。次に、クリックされた要素の ID のクラスを使用して、これらすべての要素を非表示にする必要があります。次に、どの要素がまだ表示されているかを確認し、4 つごとに「no-right-marg」のクラスを追加する必要があります。以下のコードが機能しません。私のjsfiddle http://jsfiddle.net/VCZc4/2/をご覧ください

jQuery('#selector li').click(function() {

   colour = '.' + jQuery(this).attr('id');
   jQuery('#tips ' + colour).toggle();
   jQuery(this).toggleClass('inactive');
   jQuery('#tips li').removeClass('no-right-marg');

   jQuery('#tips li:visible').each(function(index){

       if(index %4===0 ){// if divisible by 4
           jQuery(this).addClass('.no-right-marg');

       }            
   });

});​

HTML

<ul id="selector">
    <li id="brown">button 1</a>
    <li id="green">button 2</a>
    <li id="blue">button 3</a>
    <li id="orange">button 4</a>

</ul>

<ul id="tips">
    <li class="brown">text</li>
    <li class="orange">text</li>
    <li class="blue">text</li>
    <li class="blue no-right-marg">text</li>
     <li class="blue">text</li>
     <li class="orange">text</li>
     <li class="blue">text</li>
    <li class="blue no-right-marg">text</li>
    <li class="green">text</li>
</ul>
​
4

2 に答える 2

6

「。」があるようです。addClass 呼び出しで。「。」を削除します。コードを修正します。

http://jsfiddle.net/reygonzales/VCZc4/5/

私はそれがあなたが望むものを得ることを願っています.

于 2012-06-19T17:30:24.977 に答える
1

インデックスがゼロなので、 mod 4 == 3 が必要です。 if(index % 4 === 0 )する必要がありますif(index % 4 === 3 )

于 2012-06-19T17:32:14.307 に答える