Javascript 当jQueryUI对话框没有ID时打开它

Javascript 当jQueryUI对话框没有ID时打开它,javascript,jquery,jquery-ui,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Jquery Ui Dialog,单击某个元素时,如何打开下面的对话框?我是否需要将其分配给某个变量,从而执行myDialogVariable.dialogopen,或者向其添加ID,从而执行$'myDialogID'。dialogopen 您的问题是无法按照定义元素的方式选择元素 有几种方法可以做到这一点 一种是假设将定义的元素添加到全局变量中,但这不是最好的方法 实现目标的最简单方法是给它一个ID。ID必须是唯一的。如果不是,你就有问题了 另一种方法是添加某种自定义属性,并选择定义了该属性的元素。但这不符合标准,因此也会提出

单击某个元素时,如何打开下面的对话框?我是否需要将其分配给某个变量,从而执行myDialogVariable.dialogopen,或者向其添加ID,从而执行$'myDialogID'。dialogopen


您的问题是无法按照定义元素的方式选择元素

有几种方法可以做到这一点

一种是假设将定义的元素添加到全局变量中,但这不是最好的方法

实现目标的最简单方法是给它一个ID。ID必须是唯一的。如果不是,你就有问题了

另一种方法是添加某种自定义属性,并选择定义了该属性的元素。但这不符合标准,因此也会提出反对意见


编辑:@Pavlo是的,我知道。担心的是有人使用了我的插件,但其余的JS都是自己使用的。->你创建一些东西,设置一些规则,对它们进行注释,制作文档。如果另一个人想使用你的插件,他是不是正在使用你的插件按照你的规则进行开发。还作为一个插件,建议使用第一种方法,即带有变量的方法。

根据您的代码,这里有一些示例供您参考: HTML

然后,单击事件将如下所示:

同样,您应该始终注意您的Id,它必须始终是唯一的
这就是你想要的吗?

最好使用ID或类。在您的例子中,您可以像$'div'。对话框一样调用它,但前提是此div是您的对话框中唯一的一个divpage@Pavlo. 没有这样的运气,因为它是页面中唯一的div!我的目标是确保ID不会与页面上的其他ID冲突。ID必须始终是唯一的,您必须注意这一点,以避免ID的任何重复s@Pavlo是的,我知道。担心的是有人使用了我的插件,但JS的其余部分自己使用。我可以在插件中为我的所有变量添加一个名称空间,而不是一个全局变量。当然,有999种方法可以做到这一点。那是从我头顶传来的。@这就是你要的吗?根据标题,在jQueryUI对话框没有ID时打开它。@user1032531如果您没有编辑此div的权限,可以像$div[title=\Open Dialog\]一样调用对话框但是我相信这个div是你的元素,你可以用它做任何你想做的事情——作为一种方法,你可以设置一个像myPersonalDialogId bla bla bla bla bla这样的id,我不认为有人会在他的应用程序中拥有相同的id
$('body')
.append('<div title="My Dialog"><p>Some HTML</p></div>')
.dialog({
    autoOpen    : false,
    modal       : true,
    open        : function() {},
    buttons     : []    
});

$('#someElement').click(function(){
    //Open above dialog
});
<input id="btnOpenDialog" type="button" value="Open Dialog" />
$('body').append('<div id="myDlg" title="My Dialog"><p>Some HTML</p></div>')
$('#btnOpenDialog').click(function(){
  $('#myDlg').dialog();
});