その場でjQueryダイアログを作成したい。私はこれを使用しています:
var newDiv = $(document.createElement('div'));
$(newDiv).html('hello there');
$(newDiv).dialog();
私はこれをhtmlヘッダーに持っています:
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.1.custom.min.js"></script>
IE7でJSを実行しようとすると、$(newDiv).dialog()で次のエラーが発生します。 line:オブジェクトはこのプロパティまたはメソッドをサポートしていません。
誰が何が起こっているのか知っていますか?
コードは動作します。テストできます here 、つまり、スクリプトに問題がある可能性があることを意味します。ファイルがjs
フォルダーページの横、またはサイトルートからのものである場合は、/js
代わりに。
または、 CDNの使用を検討してください 。
次のように、コードをもう少し効率的にすることができます(これは単なるテストにすぎません)。
var newDiv = $(document.createElement('div'));
newDiv.html('hello there');
newDiv.dialog();
これは、newDiv
がalreadyjQuery要素であり、毎回オブジェクトを複製する理由がないか、または少し短いためです。
$('<div />').html('hello there').dialog();
ダイアログとそのメッセージを動的に作成する別の方法を次に示します。
$('<div></div>').dialog({
modal: true,
title: "Confirmation",
open: function() {
var markup = 'Hello World';
$(this).html(markup);
},
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
}); //end confirm dialog
実際にご覧ください: http://jsfiddle.net/DYbwb/
コードは良いです、必要なのはjqueryとjquery uiの参照です
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>