jquery从元素中删除插件

我有类似于以下代码的东西:

$(a).click(function() { $(element).plugin(); }); 

除了使用$($.plugin).remove()之外,有没有办法从元素中删除插件? 不确定我的术语是否正确但基本上我想将元素重置为原始状态。

谢谢

您必须知道插件的作用才能扭转它的影响。 许多插件为DOM添加额外的元素,向元素添加处理程序等。如果插件没有创建任何额外的元素,您可能只需执行克隆 (没有数据和事件)并替换甚至解除所有事件处理程序的绑定,但这并不总是有效的。 这将非常依赖于有问题的插件。

这是我的肮脏解决方案:

 $('#myWidget,#myWidget *').unbind().removeData(); 

除非插件提供该function,否则可能无法轻松完成。 您将不得不调查插件的作用,并特别撤消这些内容 – 或者存储非插件元素的克隆以便稍后替换它。