查找在其上初始化了jquery小部件的元素
我正在使用jQuery-File-Upload小部件(虽然我相信这个问题可以推广到任何jQuery小部件)。 API指示用户使用fileupload
方法初始化窗口小部件,因此:
$('#fileupload').fileupload();
我的问题是:如果不知道ID,我怎样才能找到#fileupload
(以及任何其他已经调用过.fileupload()
元素?
jQuery文件上传使用了底层的jQuery UI小部件工厂,并且已知该工厂使用data()向它们扩展的元素注册小部件实例。
因此,您可以使用filter()并编写如下内容:
// Restrict ancestor if you can, $("*") is expensive. var uploadified = $("#yourAncestor *").filter(function() { return $(this).data("fileupload"); });
更新:从jQuery UI 1.9开始, data()
键成为小部件的完全限定名称,点用短划线替换 。 因此,上面的代码变为:
var uploadified = $("#yourAncestor *").filter(function() { return $(this).data("blueimp-fileupload"); });
在1.9中仍然支持使用非限定名称但不推荐使用,并且支持将在1.10中删除。
- Owl Carousel 2:过滤项目,但使用Javascript保持排序顺序
- 显示实时页面查看器的数量
- 无法弄清楚为什么Chrome / Safari无法在这里获得ScrollHeight
- 隐藏时,SVG的GetBBox
- SyntaxError:无法在’Document’上执行’querySelector’:”不是有效的选择器
- 在$(document).ready()之前运行一个函数
- 如果使用document.write,则无法以编程方式插入js
- 在FF 11中加载jquery UI会出现错误::“TypeError:a is undefined”
- 从具有下划线模板的另一个函数jQuery内部调用的事件不起作用