我试图将一个类应用于从第4个(3n + 4)开始的每三个列表项。
当所有列表项均可见时,使用CSS可以正常工作。

不幸的是,当某些列表项被隐藏(显示:无)时,第n个子选择器也适用于那些隐藏的列表项。

我只需要将CSS应用于可见列表项,因此我做了一些研究,并尝试使用jQuery和可见选择器来获得所需的结果。这也不起作用。

请参阅下面的我当前的代码作为示例。

任何帮助都感激不尽。
谢谢

http://codepen.io/anon/pen/xuqwf

的HTML

<ul>
  <li>1</li>
  <li style="display: none;">2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li style="display: none;">6</li>
  <li>7</li>
  <li>8</li>
</ul>


的CSS

ul li {
  background: yellow;
  border: 1px orange solid;
  margin: 5px;
}

ul li:nth-child(3n+4) {
  background: green;
}

.clear {
  background: red;
}


jQuery(尝试并失败)

$('ul li:visible:nth-child(3n+4)').addClass('clear');

最佳答案

环:

var i = 0;
$('ul li:visible').each(function(index,el) {
 if((index+1)%(3*i+4) == 0) {
   $(this).addClass('clear');
   i++;
 }
});

关于jquery - CSS-将类添加到3n + 4“可见”列表项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20247750/

10-12 06:36