Ejs не запускает цикл for (let i = 0; i < 10; i++)
(клиент), он просто запускается с циклом внутри вашего <% %>
Вы можете создать itemsClient
с items
до for (let i = 0; i < 10; i++)
и используйте itemsClient
внутри этого цикла.
<% for (let i = 0; i < monthlyTopSellers.imageUrlList.length; i++){ %>
<button id="test<%= i+1 %>">Buy Now</button>
<% } %>
<script>
let itemsClient = <%- JSON.stringify(items) %>;
for (let i = 0; i < 10; i++){
$('#test'+i.toString()).click(function () {
let item = itemsClient[i];
// Use item (itemsClient[i])
}
}
</script>
Вы можете проверить это.