2011-01-27 13 views
0

私はjQuery UIのダイアログを使用しています。私のコンテンツの周りにウィンドウをきちんとラップするためには、まず2つの空のネストされたdiv(<div><div></div></div>)にダイアログをロードする必要があります。その後、ダイアログが開かれた後、私はダイアログをコンテンツで設定します。私はそれに多くの時間を費やしました...それはこの質問に関するものではありません。その仕組みに代わるものを提案しないでください。jQuery UIダイアログで非表示のhtmlを表示

私の問題は、私は次のようなWebページ内からHTMLを表示する必要があるということだけである:

<div id="mydialog"> 
    <form> 
    <label for="name">My name:</label> 
    <input type="text" id="name" name="name"/> 
    </form> 
</div> 

Webページに隠された上しかし、私はそのHTMLをしたいです。だから私はdisplay: none;にCSSを設定しました。私はそれからします。 append($('#mydialog')).children().css('display', 'block');をダイアログの内部divに追加します。

私の質問は...ウェブページからhtmlを削除するにはどうすればよいですか? jQueryを追加することで、私は完全なコピーを作っていませんか?私はこれらのトンを持っているので、パフォーマンスの問題が発生しています。 .append()の代わりに、私は$('#mydialog').moveTo('#innerDivOfDialog');のような何かをするべきですか?元の非表示のhtmlで$('#mydialog').removeFromWebpage();を実行する必要がありますか? removeFromWebpage()を実行するjQueryメソッドはありますか?ここには何が適切な仕組みですか?

答えて

0

:我々はまた、ページ上の要素を選択し、別のものにそれを挿入することができます

$('.container').append($('h2')); 

この方法を選択された要素が挿入されている場合他の場所では、ターゲットに移動します

移動されているため、コピーされません。

それでも除去に興味があるなら、あなたは正しいですjQuery remove

+0

を参照してください、それがコピーされていない、移動しています!ありがとう! –

0

これらの要素をDOMから削除することができます(静的なHTMLはクライアントで受信されたものではありませんが、実際には物事の問題です)。.detach()を呼び出すだけですあなたが望む場所にそれを追加する前にアイテムを移動しました。 jQuery append docsから

$foo.append($('#mydialog').detach()).children().css('display', 'block'); 
関連する問題