使用应用的插件标记元素

时间:2014-08-05 14:30:57

标签: javascript jquery plugins jquery-plugins

您如何标记已应用插件的元素?假设我有这个html:

    <a href="..." id="special-link">Link</a>

在javascript中,我会&#34;应用插件&#34;

    $("#special-link").selectify();

后来我想知道#special-link是否已经被选中了。我可以想到这些可能性:

  1. 向元素添加一个类。您可以通过调用$(&#34; .selectified&#34;)来收集所有带有selectify的元素,并且还可以轻松检查元素是否具有通过调用$(&#34; elem&#34;)来应用该插件.hasClass(&#34; selectified&#34;)。我能想到的一个缺点是你使用CSS(=设计)来存储信息。
  2. 设置一个数据值。使用selectify插件找到所有元素有点困难,但它更清洁&#34;因为你不使用CSS类来存储信息而在某种程度上解决方案
  3. 插件本身会记住元素。这听起来像是最好的解决方案。但是,作为插件的创建者,您必须注意跟踪所有元素并将它们放入列表中。如果你有某种类型&#34; destroy&#34;方法,您还必须记住从列表中删除它们。
  4. 您认为哪一种是最佳解决方案?你能想到上述方法的其他优点/缺点吗?

1 个答案:

答案 0 :(得分:0)

jQuery插件(更好的插件)通常只使用类来添加样式,并在元素data中存储代码实例(不是data-属性)。

但是,为什么不简单地使用现有系统来创建jQuery插件,例如jQuery UI plugin Widget Factory

他们为你做了繁重的工作:)