jquery 无法在过滤的对话框列表上调用 .dialog('moveToTop')



我在正文中附加了一堆jquery-ui对话框。其中一些将显示属性设置为阻止,而另一些设置为隐藏。我想获取带有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');

因此,它可以完全使用选择器来完成,而无需过滤器功能。更多关于 :visible 选择器的信息,请点击此处

最新更新