Не удается выполнить циклический переброс карточек, которые берут информацию из базы данных mongoose с помощью jquery

#jquery #node.js #express #mongoose #ejs

#jquery #node.js #выразить #мангуст #ejs #mongoose

Вопрос:

Я получил следующий код

       <% topic.forEach(function(topic){ %>
          <div class="col-4">
              <div id="homecard" class="card" style="width: 18rem;">
                  <a href="/home/<%= topic._id %>"><img class="card-img-top" src="<%= topic.image %>" alt="Card image cap"></a>
                  <div class="card-body">
                      <span id="homecategory" class="card-title"><%= topic.category %></span>
                      <p id="homesubject" class="card-text text-center mt-3"><%= topic.subject %></p>
                  </div>
              </div> 
          </div>
      <% }); %>

<script>
    var card = $("#homecard");
    card.forEach(function(card){
        $(this).click(function(){
        console.log("done");
        });
    })
</script>
  

Код ejs печатает информацию, которая была взята из базы данных mongoos, используя express ever one, на другой карте.

Я хочу перебросить все карты и что-то сделать с помощью Jquery, но я не могу, потому что он распознает только первую карту.

Если кто-нибудь может помочь и найти способ перебросить их все.

Спасибо.

Комментарии:

1. Я не знаю, что вы пытаетесь сделать, но с помощью цикла foreach вы создаете множество div элементов с одинаковым идентификатором homecard . Это проблема, идентификаторы должны быть уникальными

2. Идентификаторы должны быть уникальными на странице, вот почему вы находите только первый. Используйте $('.card').click(function... вместо этого. Нет необходимости использовать forEach