jquery-ui dialog

画像をクリックするとダイアログを開く という簡単なサンプルを書こうとしたのだが、 画像をクリックしてダイアログが開くと元の画像が消えてしまう。 img に対して show() とか style.visibility = visible とかやっても無駄。 なんじゃらほいと思って、 もしかすると src とかで渡したオブジェクトを複製してあげなきゃいけないのかと思い、

$('#dialog').html(src))

$('#dialog').html(src.clone(false)))

に変えてみたら、エラーが出る。clone は javascript ではなく jquery のオブジェクトに対するメソッドなので、

$('#dialog').html($(src).clone(false)))

と書かねばならないのであった。そしたらうまくいった。

src を clone しないと dialog の方の子供になっちゃって、dialog を閉じたときにそのままいなくなってしまうのであった。

うーん。jQuery 奥が深すぎ。