创建jquery插件 - 在同一个元素上使用两次时不起作用

时间:2010-12-23 08:32:43

标签: javascript jquery jquery-plugins

到目前为止我一直在使用prototypeJS,请原谅我这个nooby jquery问题:P

看看这个:http://jsfiddle.net/wAcVs/

插件正在加载时应用于#cont1。到目前为止,#cont2尚未被触及。当您单击顶部的按钮时,您可以看到它适用于#cont2,但不适用于#cont1。

我可以看到来自

的论据
$('#cont1').myPlugin({id:'321', width:'200', height:'100'}) 

对我的选项变量生效,但从那时起“this”为空,元素根本没有变化。

我怎样才能使这个工作?

提前致谢!

1 个答案:

答案 0 :(得分:2)

它不会工作两次,因为您将ID更改为其他内容,因此在使用$("#cont1")时,没有什么可以找到的。如果你只删除.attr('id', 'plugin_'+options.id),就会看到它正常工作。

You can test it with the changes here,请注意我更改了.changed选择器,因为当ID仍然存在时,#cont1#cont2 CSS选择器比{{1}更具体}。