假设我打开了一个没有“id”的对话框,如何找到对话框并获取对话框对象,以便我可以对它执行.dialog(‘close’)?
例
// say if this was my dialog <div> <input type="button" id="btn" /> </div> $("#btn").parents("div").dialog('close');
这不起作用,所以我需要得到实际的对象.
解决方法
这就是你应该在这些div上拥有id的原因.请考虑以下选项:
>考虑将ID添加到标记中.这很容易做和维护.
>否则,当您在执行.dialog()之前获得div(s)时,请给它们动态id:el.attr(‘id’,’dialogBox’).
>如果你不想给它们id(由于一些奇怪的原因),你仍然可以在你的js代码中的某个时间点使用它们,所以保存对这些对象的引用.稍后,请参阅所需的参考,您可以调用.dialog(‘close’).这也将为您执行缓存,因此您无需再次搜索DOM树.
>作为最后的手段,如果您不想执行上述操作,请按照原来的相同方式引用它们(这并不总是一个好主意,特别是如果DOM更改).
虽然仅供参考,但您的示例(使用最后一个选项)可用:http://jsfiddle.net/vbcMW/