1

我需要删除所有#tips li 元素上的所有“no-right-marg”类。然后,我需要使用单击元素 ID 的类来隐藏所有这些元素。然后,我需要检查哪些元素仍在显示,并在每四个元素中添加一个“无右边距”类。我下面的代码不起作用。请看我的 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 回答