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

时间:2013-10-19 16:40:45

标签: jquery jquery-ui

我有一堆附加到body的jquery-ui对话框。其中一些将display属性设置为block,一些设置为hidden。我想获得一个带有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'

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

1 个答案:

答案 0 :(得分:1)

正确的行是

$('.ui-dialog:visible').last().find(".ui-dialog-content").dialog('moveToTop');

所以它可以完全由选择器完成,不需要过滤器功能。有关:可见选择器here

的更多信息