JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<table id="peopleWrapper" border="1"></table>
<script type="text/template" id="tpl-person">
<tr>
<td><%=name%></td>
<td><%=age%></td>
<td><button>Birthday</button></td>
</tr>
</script>
JavaScript
var people = {};
var Person = function(name, age){
var self = this;
this.changeName = function(newName){
this.name = newName;
};
this.happyBirthday = function(){
this.age++;
alert(this.age);
}
this.render = function(){
var template = _.template($("#tpl-person").html());
$("#peopleWrapper").append($(template(this)).data("Person", this).attr("data-person", ""));
}
//constructor
this.name = name;
this.age = age;
this.render();
}
$("#peopleWrapper").on("click", "[data-person] button", function() {
$(this).closest("[data-person]").data("Person").happyBirthday();
});
$(function(){
people.philippe = new Person("Philippe", 22);
people.nick = new Person("Nick", 33);
people.luc = new Person("Luc", 54);
});