1. ホーム
  2. jquery-ui

[解決済み] 閉じるときにダイアログを完全に削除する方法

2022-06-12 09:45:11

質問

ajax操作に失敗したとき、エラー内容で新しいdivを作成し、ダイアログとして表示しています。ダイアログが閉じられたとき、私は完全に破壊され、再びdivを削除したいと思います。どうすればよいのでしょうか?私のコードは、現時点では次のようになります。

$('<div>We failed</div>')
    .dialog(
    {
        title: 'Error',
        close: function(event, ui)
        {
            $(this).destroy().remove();
        }
    });

これを実行すると、ダイアログボックスは正しく表示されますが、それを閉じると、ダイアログはまだhtmlに表示されています(FireBugを使用)。私はここで何を見逃しているのでしょうか?私が忘れている何か?

更新しました。 ちょうど私のコードがfirebugコンソールで私にエラーを与えることに気づきました。

$(this).destroy は関数ではありません。

どなたか助けていただけませんか?

更新しました。 もし私が $(this).remove() を実行すると、その項目は html から削除されます。しかし、それは完全にDOMから削除されるのでしょうか?それとも、どうにかして、最初にそのdestroy関数も呼び出す必要があるのでしょうか?

どのように解決するのですか?

$(this).dialog('destroy').remove()

これはダイアログを破壊し、ダイアログをホストしていた div を DOM から完全に削除します。