这个选择器选择“#dialog:ui-dialog”是什么?

时间:2011-02-16 11:08:51

标签: jquery jquery-ui

此选择器在http://jqueryui.com/demos/dialog/#modal-confirmation中引用(源代码)。

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

#dialog很好,:ui-dialog如何解释,我在文档中找不到它。

有人可以解决一些问题吗?

3 个答案:

答案 0 :(得分:2)

jquery.ui.widget.js 为每个jQuery UI小部件定义自定义选择器:

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

遍历所有元素并返回具有已定义数据(在本例中为对话框)对象的那些元素。

尝试:

  1. 选择对话框(返回jQuery)

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

    $(":ui-dialog").eq(0).data('dialog');
    
  3. 您的更正声明:

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

    选择并销毁所有对话框。

答案 1 :(得分:0)

该代码行上方的注释为:

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

所以最好不要管它。

答案 2 :(得分:0)

我相信它只是指一个id为dialog的元素:ui-dialog,它没有任何语义含义