2012-06-19 3 views
1

Мне нужно удалить все классы 'no-right-marg' на всех элементах #tips li. Затем мне нужно скрыть все эти элементы с классом идентификатора элемента clicked. Затем мне нужно проверить, какие элементы все еще отображаются, и добавить класс «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> 
​ 

ответ

6

Там, кажется, "" в вашем вызове addClass. Удаление "." исправляет ваш код.

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

Я надеюсь, что получает то, что вы хотите.

+0

спасибо, что выбрали это, он делает что-то, но не так! Он добавляет класс, но не к каждому четвертому элементу ... – Nicola

+1

Итак, проверьте мою новую скрипку: http://jsfiddle.net/reygonzales/VCZc4/10/ Как и сэр Джонатан Рани, он индексируется нулями. Поэтому я добавил 1 к индексу перед применением оператора modulo. Как нас найти? –

+0

вот и все! Спасибо! – Nicola

1

Это нулевое индексирование, поэтому mod 4 == 3 - это то, что вам нужно. if(index % 4 === 0) должно быть if(index % 4 === 3)

+0

спасибо, я сделал это, но он все равно не добавляет его к каждому четвертому элементу. – Nicola

+0

Бах, мой плохой, я имел в виду 3! индекс должен быть 3. Вот рабочая скрипка: http://jsfiddle.net/VCZc4/11/ –

Смежные вопросы