JQuery では、 $(this) はローカルでしか機能しないようです。
簡単な例を挙げる:
$(".someClass .type1").click(function(){
$(".someClass .type1").html("<img src='image/2.png'>");
$(this).html("<img src='images/img.png'>");
});
$(".otherClasses").click(function(){
$(".otherClasses .type1").html("<img src='image/2.png'>");
$(this).html("<img src='images/img.png'>");
});
理想的には、次のような関数を書きたいと思います。
function changeImg () {
$(this).html("<img src='images/img.png'>");
}
そして、次のような jquery クリック関数の下で changeImg() を呼び出します。
$(".someClass .type1").click(function(){
$(".someClass .type1").html("<img src='image/2.png'>");
changeImg();
});
ただし、この方法では、$(this) はクリックされたものではなく「未定義」になります。グローバル変数のように利用できるようにする方法はありますか?
ありがとうございました!