0

Web ページに機能を実装して元に戻そうとしています。これは編集可能な texbox でいっぱいのテーブルなので、ID を思いつくのは大変でした。テーブル情報に基づいてID名を作成することにしました。たとえば、次のような ID があります。

 HW3=:25626=:10000

HW3 はヘッダー、25626 は行の ID 列、10000 はこのテーブルを参照します。元に戻す機能については、次を使用してIDを取得します

 $(this).attr('id);

この機能は、イベントのフォーカスまたはクリックに基づいて呼び出されるため、「これ」が機能します。現在の値を取得し、最後に追加します

 $(this).attr('id)+":="+old_value;

これは、ID 名が「=:」で区切られているため、このデータを部分的に取得するために 2 つの分割を実行できるためです。私が理解するのは最善ではないかもしれません。

私が抱えている問題は、IDを取り出して要素として戻そうとすると、エラーが発生することです:

 Uncaught Error: Syntax error, unrecognized expression: #HW3=:25626=:10000 

私はやろうとしています:

  var s = "#"+temp[0];
  var element = $(s);

temp[0] = HW3=:25626=:10000 です。このエラーをスローするのは 2 行目です。

重要!!!私が使用しているIDを持つテーブルは、最初は作成されていません。JQuery は、ページの読み込み後にそれを構築するメソッドを呼び出します。このメソッドは、テーブルが作成されるまでアクセスできません。イベントが読み込まれるまでイベントを要素にバインドできないことは理解していますが、存在しないテキストボックスで元に戻そうとすることはないため、同じケースかどうかはわかりません。結局、Undo オブジェクトに既に挿入されている必要がありました。

どんな助けでも大歓迎です。

4

1 に答える 1

1

ID はセレクターでは機能しません。代わりに、次のようにする必要があります。

$(document.getElementById(temp[0]))
于 2013-04-29T05:00:22.353 に答える