2011-07-21 17 views
2

要素ブロックを動的に追加する(<div><img><div><p></p></div></div>)ようにしたら、それらのIDを変更します($( "#" + id))。 attr( "id"、new_id);)新しいIDを選択する際に問題が発生しています。古いIDを選択してもその要素には適用され、適用されます。新しいIDを認識させるにはどうすればよいですか?jQueryを使用して要素のIDを変更し、セレクタに新しいIDを使用させる

サイトはwww.steamcompare.comです。スチームアカウントを追加してテストすることができます。読み込み中は、透明なオーバーレイで画像を表示します。終了したら、オーバーレイをフェードアウトし、IDを変更してオーバーレイに情報を追加します。もう一度上に移動すると、余分な情報が表示されます。今、私がIDを変更する前に、オーバーレイをフェードアウトして

$("#"+id).find('div.caption').fadeOut(200); 

に変更しても問題ありません。私はそれを過去に移動すると、フェードアウトしません。

答えて

0

この問題を解決したことはありませんでした。これで、どのように処理していたのでしょうか。元のIDを破壊し、新しいIDで新しいIDを作成して解決しました。

1
$("#"+id).live('yourevent', function(){ 
    $("#"+id).find('div.caption').fadeOut(200); 
}); 
+1

誰がこれを打ち切ったのですか?理由を説明できますか?それについてのドキュメントを読むと、まさに私が必要としているようです。なぜdownvote?私が見ることができる唯一の問題はイベントです。私が実際にそれを呼び出すために使用できるイベントは不明です。 – Nathan

+1

+1とDVは私のものではありません:) – Rafay

+0

実際、ドキュメントを読んだら、これはうまくいきません。 "' 'jQuery 1.3.xでは、click、dblclick、keydown、keypress、keyup、mousedown、mousemove、mouseout、mouseover、およびmouseupのような、カスタムイベントに加えて、以下のJavaScriptイベントのみ.live()でバインドできます。 jQuery 1.4の.live()メソッドはカスタムイベントだけでなく、バ​​ブリングするすべてのJavaScriptイベントをサポートしています。「私はこれらのイベントを使用していません。 – Nathan

関連する問題