JavaScript プログラムには、オブジェクトを含む配列 (gData) があります。
これらの各オブジェクトには、オブジェクトである label と呼ばれるプロパティがあります。
各ラベルには、div_ という div 内に span_ というスパンが含まれています。
他の gData 関連操作の中で、ラベル オブジェクトは次のようにインスタンス化されます。
gData.label = new Label();
次に、gData オブジェクトが gData 配列にプッシュされます。
メイン プログラムでは、正常に動作する次の jquery コードを実行できます。
$(gData[0].label.span_).css("border","5px solid green");
関数プロトタイプを setCSS() というラベル オブジェクトに追加したいと考えています。次のように setCSS メソッドを呼び出します。
gData[0].label.setCSS("border","5px solid green");
私が書いた setCSS コード (以下) が機能しません。セレクターが機能していないと思います。
Label.prototype.setCSS = function(args) {
// args contains an object in the form {"cssAtribute":"cssData"}
// call this method as label.setCSS({"border":"3px solid blue"});
// Any number of css attributes can be included in the args object
$.each(args, function(theKey, theValue) {
$(this.span_).css(theKey, theValue);
});
}
$(this.span_)、$(this.div.span_)、および他のいくつかのセレクターを試しましたが、どれも機能しません。
Firebug を使用すると、gData[0] にラベル オブジェクトが含まれ、ラベル オブジェクトに span_ オブジェクトが含まれていることがわかります。セレクターの仕様が間違っていますか? または、私がばかげていると感じる他の原因を見逃したことがありますか?