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"/ >

Reply via email to