jQuery data()を使用してメタデータを格納しますが、jQuery 1.4.4と1.4.3の両方に問題があるようです。一部の部品は動作し、他の部品は動作しません。例えばjQuery data()は未定義を返します
、私は要素がDOM要素である
const UimConst = {
NODE_OBJECT: "nodeObject",
CHILDREN: "children",
PARENT: "parent",
SID: "sid",
COUNT: "count",
EXCLUDE: "exclude",
PARENT_COUNT: "pcount",
HEIGHT: "UimHeight"
};
Workspace.prototype.findAncestor = function(element){
if(this.ancestor == null){
this.ancestor = $(element);
this.ancestor.data(UimConst.HEIGHT, 0);
} else {
...
}
を持っています。次に、私は次のように格納した値を取得します。
var height = this.ancestor.data(UimConst.HEIGHT);
logger.debug("Current UI module height " + height);
残念ながら、戻り値は未定義です。
は、さらに問題をトレースするために、私は、ログ内の戻り値は、同様に「未定義」である
if(this.ancestor == null){
this.ancestor = $(element);
this.ancestor.data(UimConst.HEIGHT, 0);
logger.debug("After set the ancestor height, the value is " + this.ancestor.data(UimConst.HEIGHT));
} else {
ようにコードを変更しました。本当に欲求不満。
他の場所でdata()を使用していて、正常に動作しました。何が起こったのか分かりません。 ヒント?
http://aost.googlecode.com/svn/trunk/tools/tellurium-ide:
プロジェクトは、誰もが見てみたい場合はここにあります。
ただSubversionはチェックアウトして、次のコマンドを実行します:
mvn install
、その後のFirefoxに生成された.xpiファイルをインストールします。
その後、Tellurium IDE FirefoxプラグインとJavaScriptデバッガーFirefoxプラグインを開いて実行を追跡できます。
この問題は、workspace.jsに移動し、findAncestor()メソッドの先頭にブレークポインタを設定してください。
もっとテルルIDEについての詳細はこちらです:事前に
http://code.google.com/p/aost/wiki/TelluriumIde080RC1
おかげで、
jslintでコードを貼り付けるジョン
'Workspace.prototype.findAncestor'が呼び出されていますか?おそらく '' console.log( 'データが設定されました:' + this.ancestor.data(UimConst.HEIGHT)); ' – clarkf
はい、すぐに設定されることを証明する何らかの出力を追加してみてください。いわゆる。実行フローをトレースするためにJavaScriptデバッガを使用しました。 –