I found the error. had to do data.remove(); instead of data.hide();
On 6 Jan., 17:23, revivedk <timsoren...@gmail.com> wrote: > I'm pretty sure i'm not replacing it, > im calling this: $(this).attr("src","images/up.png"); > does that actually replace the element? > I did try $(this).src = "images/up.png"; however that didn't seem to > work > > On 6 Jan., 17:04, Ricardo Tomasi <ricardob...@gmail.com> wrote: > > > There it is. How exactly does it change, are you replacing it? > > > See the LiveQuery plugin, it rebinds event handlers to all matched > > elements automatically:http://brandonaaron.net/docs/livequery/ > > > On Jan 6, 7:49 am, revivedk <timsoren...@gmail.com> wrote: > > > > Thank you!. > > > > I've been thinking that it "might" be because the element changes? in > > > that case, how would I make it re-register the click event when the > > > element has been clicked? > > > > On 5 Jan., 21:22, Ricardo Tomasi <ricardob...@gmail.com> wrote: > > > > > doesn't make any sense, there must be something else interfering with > > > > your code. > > > > > BTW, you can make that way more readable: > > > > > $(".showEvents").click(function(e) { > > > > var Calendar = $(this).parent().parent(), > > > > ID = Calendar.attr('id').substr(4), > > > > data = $('#data_+ID); > > > > if (data.length) { > > > > $(this).attr("src","images/down.png"); > > > > data.hide(); > > > > } else { > > > > $('<tr/>').attr("id","data_"+ID) > > > > .append('<td colspan="4">Test</td>') > > > > .children('td').css({ > > > > backgroundColor: Calendar.css('backgroundColor'), > > > > height: '300px' > > > > }).end().insertAfter(Calendar); > > > > $this.attr("src","images/up.png"); > > > > }; > > > > > }); > > > > > On Jan 5, 2:32 pm, revivedk <timsoren...@gmail.com> wrote: > > > > > > Hi. > > > > > I'm having a problem, where > > > > > > $(".showEvents").click(function(e) { > > > > > var CalendarID = $($(e.target).parent()).parent(); > > > > > if ( > > > > > $('#data_'+CalendarID.attr('id').substr(4)).length > 0 ) { > > > > > $(e.target).attr({src : "images/down.png"}); > > > > > > > > > > $('#data_'+CalendarID.attr('id').substr(4)).hide(); > > > > > } else { > > > > > CalendarID.after('<tr > > > > > id="data_'+CalendarID.attr('id').substr > > > > > (4)+'"><td colspan="4" style="background-color:'+CalendarID.css > > > > > ('background-color')+';height:300px;">Test</td></tr>'); > > > > > $(e.target).attr({src : "images/up.png"}); > > > > > } > > > > > }); > > > > > > will stop working after I have clicked the #showEvents 2 times. > > > > > > <img border="0" class="showEvents" src="images/down.png"/ >