用应用的插件标记元素
Marking an element with applied plugin
如何标记已应用插件的元素?假设我有这样的html:
<a href="..." id="special-link">Link</a>
在javascript中,我会"apply a plugin"
$("#special-link").selectify();
之后我想知道#special-link是否已经被选中了。我可以想到这些可能性:
- 为元素添加一个类。你可以简单地通过调用$(".selectified")来收集带有selectify的所有元素,也很容易通过调用$("elem"). hasclass ("selectified")来检查一个元素是否应用了插件。我能想到的一个缺点是你使用CSS (=design)来存储信息。
- 设置一个数据值。使用selectify插件查找所有元素有点困难,但是它在某种程度上是"更干净"的解决方案,因为你不使用CSS类来存储信息
- 插件本身负责记住元素。这听起来是最好的解决方案。然而,作为一个插件的创建者,你必须注意跟踪所有的元素,并把它们放在一个列表中。如果你有某种"销毁"方法,你还必须记住从列表中删除它们。
你认为哪一个是最好的解决方案?你还能想到上述方法的其他优点/缺点吗?
jQuery插件(较好的)通常只使用类来添加样式,并且它们在元素data
(而不是data-
属性)中存储代码实例。
但是,为什么不直接使用现有的系统来创建jQuery插件,比如jQuery UI插件Widget Factory
他们为你做了繁重的工作:)
相关文章:
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 对插件初始化后动态加载的元素进行样式设置
- 在多个元素上使用jquery插件,只需稍作修改
- 是否可以在尚未附加到DOM的元素中创建一个sparkline(使用jquery.sparkline插件)
- 如何在dom元素中插入输入标记数据插件
- 当我动态创建元素时,选择的插件不起作用
- jQuery插件在为元素分配id时停止工作
- 插件总是只得到最后一个实例,如何让它适用于多个元素
- 谷歌地球插件 — 如何检查带有 ID 的元素是否已经存在
- 如何使用jQuery扩展方法为元素或类选择器创建自定义插件
- 无法破解pass-css插件以使两个输入元素出现在一行中
- 什么是最好的表单元素样式库/插件(jQuery)
- 创建视频播放器(Quicktime浏览器插件)React元素,输出缺少的视频属性
- [contenteditable]元素和jQuery验证插件的问题
- 如何在jquery的SWF对象插件中使用元素类名
- 将jquery插件函数附加到动态创建的DOM元素
- 插件中的元素不接受 jQuery 方法
- 页面加载时的插件和html - 元素到处都是的瞬间
- 如何在Aurelia应用程序中使用外部自定义元素(插件)
- 将 JQuery ON 与动态元素插件一起使用