5

我有一个网页正在循环,并在循环内使用循环。

{% for o in something %}
{% for c in o %}
 <div class="{% cycle 'white' 'black'%}"></div>
{% endfor %}

现在,这意味着每次在循环内,第一个 div 标签变白。但是,我想要的是在白色和黑色之间交替,即从白色开始,然后下次在循环内时,第一个 div 标签用黑色开始。有可能在这里实现?

4

2 回答 2

4

有一个关于这个问题的接受错误打开。您可能想尝试建议的更改,看看它是否适合您。

如果您不想尝试,或者它不起作用,请试一试:

{% cycle 'white' 'black' as divcolors %}
{% for o in something %}
    {% for c in o %}
        <div class="{% cycle divcolors %}"></div>
    {% endfor %}
{% endfor %}

据我了解,循环将从白色开始,然后每次在循环内循环遍历这些值(这意味着您不会每次都以白色重新开始)。

于 2010-09-22T02:03:26.807 回答
0

像这样的东西可能有效(未经测试):

{% for o in something %}
 {% for c in o %}
  {% ifchanged forloop.parent.counter %}
   <div class="{% cycle 'white' 'black' %}"></div>
  {% else %}
   <div class="{% cycle 'black' 'white' %}"></div>
  {% endifchanged %}
 {% endfor %}
{% endfor %}
于 2009-05-14T07:10:21.017 回答