带有动态内容的jQuery对话框

我想在运行中创建一个jQuery对话框。 我正在使用这个:

var newDiv = $(document.createElement('div')); $(newDiv).html('hello there'); $(newDiv).dialog(); 

然后我在html标题中有这个:

   

当我尝试在IE7中运行JS时,我在$(newDiv).dialog()上得到以下错误; line:Object不支持此属性或方法。

有谁知道发生了什么事?

你的代码可以运行,你可以在这里测试,这意味着你可能有一个脚本包含问题,确保你的文件在页面旁边的 js文件夹下,或者如果你打算它们来自站点根目录,请使用/js代替。

或者, 考虑使用CDN 。

你可以让你的代码更有效率(我意识到它只是一个测试),像这样:

 var newDiv = $(document.createElement('div')); newDiv.html('hello there'); newDiv.dialog(); 

这是有效的,因为newDiv 已经是一个jQuery元素,没有理由每次克隆对象……或者更短一些:

 $('
').html('hello there').dialog();

以下是动态创建对话框及其消息的另一种方法:

  $('
').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的引用