スコープはjavascriptの混乱です:)
jQuery 1.4には、スコープを任意のコールバックに取り込むことができる組み込みのプロキシ関数があります。http://api.jquery.com/jQuery.proxy/を参照してください。
ただし、自分で作成するのは非常に簡単です。
var proxy = function( fn, scope ) {
if ( typeof fn !== 'function' ) {
return function() {};
}
scope = scope || this;
return function() {
return fn.apply( scope, Array.prototype.slice.call(arguments) );
};
}
$(document).ready(function(){
$(".moderate").click(function(){
var url = $(this).attr('href');
$.get(url, proxy(function(data) {
$(this).parent().html(data);
}, this));
return false;
});
});
スコープを変数に入れて、後でアクセスすることもできます。
$(document).ready(function(){
$(".moderate").click(function(){
var scope = this;
var url = $(this).attr('href');
$.get(url, function(data) {
$(scope).parent().html(data);
});
return false;
});
});