jquery无法在已筛选的对话框列表上调用.dialog(';moveToTop';)

jquery无法在已筛选的对话框列表上调用.dialog(';moveToTop';),jquery,jquery-ui,Jquery,Jquery Ui,我有一堆jqueryui对话框附加到body中。其中一些将“显示”特性设置为“块”,另一些设置为“隐藏”。我想获得带有display:block的对话框列表,选择最后一个并将其置于对话框堆栈的顶部。我使用的代码是 $('.ui-dialog').filter(function (index) { return $(this).css("display") == "block"; }).dialog('moveToTop'); 不幸的是,

我有一堆jqueryui对话框附加到body中。其中一些将“显示”特性设置为“块”,另一些设置为“隐藏”。我想获得带有display:block的对话框列表,选择最后一个并将其置于对话框堆栈的顶部。我使用的代码是

 $('.ui-dialog').filter(function (index) {
                return $(this).css("display") == "block";
            }).dialog('moveToTop');
不幸的是,我得到了错误

Uncaught Error: cannot call methods on dialog prior to initialization; attempted to call method 'moveToTop'

这怎么可能?对话框已初始化。我怎样才能做到这一点?

正确的一行是

$('.ui dialog:visible').last().find(“.ui dialog content”).dialog('moveToTop')

因此,它可以完全用选择器完成,而不需要过滤功能。有关:可见选择器的详细信息