jQuery

$("img.DocumentStar").click(function() {
var $ID = $(this).parent().parent().attr("id");
$.post(AjaxURL, { "action": "document-star", "document
id": $ID },
function(data){
$(this).attr("src","includes/images/star_on.png");
});
});

ob kliku na sliko z classom DocumentStar s izvede $.post, ob zaključku hočem izvesti akcijo $(this).attr("src","includes/images/staron.png"), vendar se to ne zgodi, ker $(this) v tem primeru ne velja za img.Document_Star. Any idea?

4 odgovori

Em $(this).attr("src","includes/images/staron.png"), dodaj prav select pa je, $('img.DocumentStar').attr("src","includes/images/star_on.png").

ja, to že, ampak obstaja 10 teh divov, ki vsebujejo img.Document_Star? če to naredim, potem se spremenijo vsi

Ja potem pa po IDju selectaj, sej ga imaš izbranga ?

pomoje da bi ti moglo tole rešit problem:

$("img.DocumentStar").click(function() {
var $ID = $(this).parent().parent().attr("id");
var elem = $(this);
$.post(AjaxURL, { "action": "document-star", "document
id": $ID },
function(data){
elem.attr("src","includes/images/star_on.png");
});
});

v tvojem primeru se je referenca this nanašala na funkcijo v kateri si jo klical. se pravi na function(data).
drugače ti zna pa firebug in ukaz console.log("foo") veliko na to temo povedat :D

1