我创建了一个小组件,遍历所有选择元素并从中创建无序列表,以便我可以轻松地设置它。一切都像我想要的那样工作。这是脚本: https://github.com/goranefbl/softdrop
你像这样开火:
SoftDrop.init({
selector:'input_select',
mobile:true
});
并循环遍历每个" input_select"元素并为其创建新节点。但这只是一个单一的对象,我没有办法访问例如特定的select元素,如果我想将一个项目推送到它,或者用一些公共方法关闭它。
对于每个元素,我都在添加data-softdrop =" i"对它来说,这样我就可以轻松地将其作为目标:
document.querySelectorAll("[data-softdrop='i']")
它有效。但是,如果我想从组件内部执行此操作,请执行以下操作:
var selects = SoftDrop.init({
selector:'input_select',
mobile:true
});
selects.data('something').open();
我该怎么做呢?我会在顶部和forEach调用期间创建一些对象数组,将其推送到那里,然后访问它如何?能够在特定的选择元素上使用公共方法。
谢谢
答案 0 :(得分:0)
实现此目的的一种方法是在组件内创建一个data
对象,并将每个条目作为属性添加到此对象,例如像这样:
data['something'] = myElement;
然后,稍后,您可以再次访问该元素并在其上调用方法,例如
data['something'].open();
这是你的想法吗?