JSFiddle - React, Tailwind, and code Playground
HTML
<div id="container">
</div>
JavaScript
$(document).ready(function() {
var cats = [];
var Cat = function(id, image_path) {
this.id = id;
this.image_path = image_path;
this.clicks = 0;
};
Cat.prototype.clickInc = function() {
var _cat = this;
$('#' + this.id).click(function() {
_cat.clicks++;
$(this).next(".clickNos").find(".clicks").html(" " +_cat.clicks);
});
}; //use a closure here
var poly = new Cat("poly", "http://lorempixel.com/50/50/cats?cat=1");
var chewie = new Cat("chewie", "http://lorempixel.com/50/50/cats?cat=2");
cats.push(poly);
cats.push(chewie);
for (i = 0; i < cats.length; i++) {
var catInfo = '<div class="cats"><div id="' + cats[i].id + '"><img src=' + cats[i].image_path + '><h3>' + cats[i].id + '</h3></div><div class="clickNos"><span class="label">Number of clicks</span><span class="clicks"> ' + cats[i].clicks + '</span></div></div>';
$("#container").append(catInfo);
cats[i].clickInc();
}
});