Sto tentando disperatamente di far funzionare questo codice... sembra andare tutto bene, la richiesta ha successo ed entro nell'if (result == "hidden")... se faccio un alert di testo o newurl funzionano, però non mi cambiano il testo del link ne il suo href... cosa sbaglio? 
codice:
$("#tabswitch a").click(function (e) {
e.preventDefault();
var url = $(this).attr("href");
var testo = $(this).text();
$.ajax({
url: $(this).attr("href"),
async: false,
success: function(result) {
if (result == "hidden") {
var testo = testo.replace("nascosta","visualizzata");
var newurl = url.replace("display","hide");
$(this).text(testo);
$(this).attr("href") = newurl;
} else {
var testo = testo.replace("visualizzata","nascosta");
var newurl = url.replace("hide","display");
$(this).text(testo);
$(this).attr("href") = newurl;
}
}
});
return false;
});