Forloop.counter0 в моем шаблоне django не работает в оригинальном цикле for

У меня есть цикл for, который проходит через список проверок. Я хотел бы манипулировать элементами внутри тега в зависимости от различных ситуаций. Для теста я попытался использовать jquery для вывода id элемента по мере итерации, но цикл forloop, похоже, застрял на 0. Когда я помещаю внутрь html, он будет итерировать, но когда я помещаю внутрь атрибут 'id', он не будет итерировать. Основываясь на коде ниже, он должен итерировать столько раз, сколько есть i в инспекциях. но он этого не делает. Я также пытался получить console.log() fo innerHTML моего, но все, что я получаю, это первый элемент повторяется снова и снова вместо того, чтобы идти вниз по списку (на веб-странице, однако, это выглядит так, как будто итерация идет нормально, просто не на бэкенде, я полагаю?). обратите внимание, что jquery был импортирован в начале html. это просто фрагмент проблемы.

Буду благодарен за любую помощь.

мой код:

<div class="tab-pane fade" id="nav-inspection" role="tabpanel"
                                 aria-labelledby="nav-inspection-tab">
                                <div class="container"></br></br>
                                    {% for i in inspections %}
                                        <div class="card - mb-3" style="width: 40 rem;">
                                            <div class="card-body">
                                                <h3 class="card-title">{{i.Title}} - <span title="" id="s{{forloop.counter0}}">{{i.Condition}}</span>
                                                </h3>
                                                <script type="text/javascript">
                                                    console.log(document.querySelector('[title]').innerHTML);
                                                    $(document).ready(function(){
                                                        alert($('[title]').attr("id"));
                                                    });
                                                </script>
                                                <p>{{i.Desc}}</p>
                                                <h4><span class="badge badge-primary">{{i.Cost}}</span></h4>
                                            </div>
                                        </div>
                                    {% endfor %}
                                </div>
                            </div>

На самом деле я сам это исправил. Я просто использовал $('[title]').each(function(){}); для перебора каждого созданного span и переключения класса. довольно простое решение.

{% for i in inspections.all %}
                                        <div class="card - mb-3" style="width: 40 rem;">
                                            <div class="card-body">
                                                <h3 class="card-title">{{i.Title}} - <span title="inspection" id="s{{forloop.counter0}}" class="">{{i.Condition}}</span>
                                                </h3>
                                                <p>{{i.Desc}}</p>
                                                <h4><span class="badge badge-primary">{{i.Cost}}</span></h4>
                                            </div>
                                        </div>
                                    {% endfor %}
                                    <script type="text/javascript">
                                        $(document).ready(function(){
                                            $("[title='inspection']").each(function(){
                                                if ($(this).html() == 'Poor'){
                                                    $(this).toggleClass("badge badge-danger");
                                                } else if ($(this).html() == 'Not Satisfactory') {
                                                    $(this).toggleClass("badge badge-warning");
                                                } else if ($(this).html() == 'Satisfactory'){
                                                    $(this).toggleClass("badge badge-success");
                                                }else if ($(this).html() == 'Not Inspected'){
                                                    $(this).toggleClass("badge badge-secondary");
                                                }
                                            });
                                        });
                                    </script>
Вернуться на верх