ウィンドウの読み込み時に、画像がすでに保存されているかどうかを確認しようとしています。保存されている場合は、保存するリンクが無効になるようにHTMLを変更します。このコードは.each()
withなしでも機能しますが、最初のタグのみを検索し、それに基づいて他のすべての同様のタグを変更します。もちろん、各タグを個別に実行したいと思います。firebugのpostトランザクションを見ると、各ajax呼び出しは適切に処理され、正しいhref
値が送信されますが、htmlの更新は行われないようです。アラートメッセージが必要なときに表示されるため、ifステートメントは失敗していません。$(this)
アイテム値を取得するために機能するのに、htmlの変更を設定するときに機能しない理由はありますか?
window.onload = function() {
$(".img a").each(function() {
var item=$(this).attr( 'href' );
var action="check";
jqxhr = $.post("webservice.php", { action: action, color: item }, function(data) {
var result=data.result;
if (result=="saved") {
$(this).html("<div style='line-height:4em '>Saved</div>");
$(this).attr("href","saved");
alert(result);
}
}, "json")
.error(function() {
alert("error: unable to contact web service");
});
});
}