Here's some castly cimplified code of what I'm trying to do: var myClass = Class.create({ initialize : function() { this.id = 0; this.type = 'Undefined'; this.assignedAudienceTypes = []; this.title = 'Untitled'; this.add(); return this; }, add : function(renderTo) { this.setId(); var containerDiv = document.createElement('div'); containerDiv.writeAttribute('class', 'element-container'); renderTo.appendChild(containerDiv); containerDiv.writeAttribute('id', 'element-container-' + this.id);
var buttonDiv = document.createElement('div'); buttonDiv.writeAttribute('class', 'button-container'); renderTo.appendChild(buttonDiv); buttonDiv.writeAttribute('id', 'button-' + this.id); Event.observe('button-' + this.id, 'click', this.add); }, setId : function(){ if ( $$('.element-container').length ) { this.id = $$('.element-container').length - 1; } } }); The basic idea is that I'm creating some html elements on the page which contain a button which will add another new one to the page. My code above is clearly wrong (I'm just setting out with full on prototype coding) but I'm struggling to understand how to correct it. For a start, while the setId function works first time round, second time around "this" doesn't refer to the object but to the button element that was clicked. Any pointers greatly appreciated :) -- You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptacul...@googlegroups.com. To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en.