私は「コンテキスト」の問題に遭遇していると思います。誰かがこの問題にもう少し光を当ててくれることを願っています。
ページ上のすべての画像のソースを削除したい。画像ごとにオブジェクトの配列を作成しました。ソースを非表示にすると、元のオブジェクトのプロパティに影響を与えることなく、変更がリアルタイムで表示されるようにします。クリックイベントで(画面上の)画像を操作したい。
例えば:
$('#moz_iframe').contents().find("img").each(function(index){
aryImageObjects.push(new imageObject($(this), $('#iframeHolder')));
}); //end each
...
function imageObject(objImg, objHolder) {
this.objImg = objImg;
this.imgSrc = objImg.attr('src');
//this.objImg.replaceWith('hrm'); <-- this works just fine in this context
}; //end constructor
...しかし、これは機能しません:
$('#imagesOff').click(function(){
for (i=0; i<aryImageObjects.length; i++) {
aryImageObjects[i].objImg.replaceWith('hrm');
};
}); //end imagesOff click function
また、元のコンストラクター内でオブジェクト メソッドを構築しようとしました。
this.hideImages = function() {
this.objImg.replaceWith('hrm');
};
...
$('#imagesOff').click(function(){
for (i=0; i<aryImageObjects.length; i++) {
aryImageObjects[i].hideImages();
};
}); //end imagesOff click function
しかし、それもうまくいかないようです。
どんな助けでも大歓迎です:)