jQuery Ajaxを介して大量のコンテンツをロードしていますが、このロードされたコンテンツ内のimgsrc属性を変更したいと思います。
私が使用したAjaxがロードされたコンテンツをターゲットにするために、使用.click
は明らかに機能していません.on
:
$("#user_list").on('click','.block_user', function(e) {
e.preventDefault();
$(this).attr("src", "path_to_img_and_name.png");
});
これは問題なく機能します。画像は適切に置き換えられます。この変更を新しいjqueryajax呼び出し内に置くと、問題が発生します。
$("#user_list").on('click','.block_user', function(e) {
e.preventDefault();
var bstatus=$(this).attr("bstatus"),
user_id=$(this).attr("user_id");
$.ajax({
url: 'main/change_user_status',
data: {
bstatus: bstatus,
user_id: user_id
},
type:'POST',
dataType: 'json',
success: function(output){
$(this).attr("src", "images/"+output+"_block_user.png");
$(this).attr("bstatus", output);
}
});
});
これはまったく機能していません。
- AJAX呼び出しは正常に回っています。
- スコープは正しいので、私のimgへのパスも正しいです。
- これは、クリック関数にAJAX呼び出しがある場合にのみ発生します
元のコンテンツが何らかの形でリロードされているようですが、誰か手がかりがありますか?