2011-02-16 98 views
2

此选择器引用于http://jqueryui.com/demos/dialog/#modal-confirmation(源代码)。这个选择器是什么选择“#dialog:ui-dialog”?

$("#dialog:ui-dialog").dialog("destroy"); 

#dialog是好的,请问:ui-dialog得到解释,我没有在文档找到它的任何地方。

任何人都可以点亮一下吗?

+0

正如在选择器之前的注释中所解释的:“解决演示系统中的缺陷的一种解决方法([http://dev.jqueryui.com/ticket/4375](http://dev.jqueryui.com/票/ 4375)),不理!“ – Nekresh 2011-02-16 11:11:49

+1

我可以看到。 jQuery选择器没有定义任何类似于:ui-dialog,所以我的问题是如何添加这个新的选择器,很可能在jquery-ui API中。但我不知道在哪里?如果您尝试使用#dialog:foobar,则要解释一点,它将无法正常工作? – Ravindra 2011-02-17 05:33:26

回答

0

右上面那行代码的注释上写着:

// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore! 

因此,它可能是最好还是别去碰它。

0

我相信这只是指一个元素ID为对话框:UI的对话框,它没有任何语义含义

2

jquery.ui.widget.js定义自定义选择,每jQuery的UI部件:

// create selector for plugin 
$.expr[ ":" ][ fullName ] = function(elem) { 
    return !!$.data(elem, name); 
}; 

其遍历所有元素,并返回那些定义的数据(在这种情况下对话框)对象。

尝试:

  1. 选择对话(S)(返回的jQuery)

    $(':ui-dialog'); 
    
  2. 获取对话框对象(返回Object)

    $(":ui-dialog").eq(0).data('dialog'); 
    

你纠正声明:

$(":ui-dialog").dialog("destroy"); 

选择并解除所有对话框。

相关问题