According to the docs, 'this' within a success callback is the "options" object, so 'this.id' doesn't mean anything useful: http://docs.jquery.com/Ajax/jQuery.ajax#options
Also, $(this.id) probably isn't anything useful either. Maybe try this (untested): $('.makeFavorite').click(function() { var id = this.id; $.ajax({ type: "POST", url: "make_favorite.php", data: "id=" + id, success: function(msg) { alert('Data saved: ' + msg); $('#' + id + ' img').attr({src : "images/"+msg+".png"}); } }); return false; }); Hope it helps. --Erik On Mon, Sep 22, 2008 at 1:16 AM, suntrop <[EMAIL PROTECTED]> wrote: > > This is the JS code: > $('.makeFavorite').click(function() { > $.ajax({ > type: "POST", > url: "make_favorite.php", > data: "id=" + $(this.id), > success: function(msg) { > alert('Data saved: ' + msg); > $('h1 a#' + this.id + ' img').attr({src : > "images/"+msg+".png"}); > } > }); > return false; > }); > The HTML code: > <h1>{$ent.firma} <a href="{$ent.id}" class="makeFavorite" > id="{$ent.id}" title="Save favorite"><img src="images/{if $ent.favorit > == 1}favorites.png{else}favorites2.png{/if}" width="16" height="16" > alt="" /></a></h1> > > Both variables don't do what what I expect them to do. The first > doesn't find the correct target/id and the seccond doesn't insert the > image correctly. But if I write down the id and the true path it works > fine. > > What do I have to change? > > On 22 Sep., 05:42, ricardobeat <[EMAIL PROTECTED]> wrote: > > I can't get it either, what are you trying to accomplish? > > > > $('h1 a#' + this.id') is not logical, you first need to reference some > > <a> element to get it's ID, but in doing that you already wrote the > > ID... > > > > On Sep 21, 11:16 pm, FrenchiINLA <[EMAIL PROTECTED]> wrote: > > > > > i think your problem is this.id, you have to show the entire code in > > > order for us to see what does this mean. try just to add a alert for > > > example to see what you get for this.id > > > > > On Sep 21, 7:38 am, suntrop <[EMAIL PROTECTED]> wrote: > > > > > > HI there, > > > > > > I want to insert two variables into the selector and an attribute. > But > > > > it doesn't work. > > > > > > $('h1 a#' + this.id + ' img').attr({src : "images/" + msg + > ".png"}); > > > > > > I looked through various tutorials but couldn't find an answer to > > > > this. > > > > > > The first variable comes from the object's (<a> element) id and the > > > > seccond is a response from an php script. > > > > > > Can somebody please help me? >