针对列表中的每个第3,第6,第9等元素

问题描述:

我正在使用树枝模板来循环显示作为连续3个项目的网格的项目数组。如果在行的末尾有一个空的空间,我有一个块可以放在那里,但只有一个空的空间。以下涵盖了我所需要的,但感觉有点笨拙。通过树枝针对列表中的每个第3,第6,第9等元素

jQuery('#item:nth-child(3n+3)') 

有没有一种更聪明的办法if语句做同样的:

{% if items|length == 2 or items|length == 5 % or items|length == 8 %} 
// add a block to fill the space 
{% endif %} 

使用jQuery我会做类似下面的?

+2

如何'(长度+ 1)%3 === 0'? – Rajesh

+1

{%if length is divisibleby(3)%}为你工作? –

+0

就是这样,谢谢! – Pianoc

你可以找到这样的第三行,我只是在这里添加演示表格行,你可以根据你的需要进一步修改它。

$("tr:nth-child(3n)").css("background", "yellow");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 

 

 
<table> 
 
    <tr><td>1</td></tr> 
 
    <tr><td>2</td></tr> 
 
    <tr><td>3</td></tr> 
 
    <tr><td>4</td></tr> 
 
    <tr><td>5</td></tr> 
 
    <tr><td>6</td></tr> 
 
    <tr><td>7</td></tr> 
 
    <tr><td>8</td></tr> 
 
    <tr><td>9</td></tr> 
 
    <tr><td>10</td></tr> 
 
    <tr><td>11</td></tr> 
 
    <tr><td>12</td></tr> 
 
    </table>

+0

downvote的原因? –