当我正常使用jQuery的数据方法时,没有问题。但我想在插件中使用它,以保存应用它的每个元素的设置。
问题在于:它第一次将数据保存在插件所应用的每个元素上。例如,我将插件应用于$('div')
,然后为$('#div1')
设置一些值,并自动为$('#div2')
设置相同的值。
这个例子说明了我的意思。为什么会这样?当我尝试在插件之外做同样的事情时,它可以工作。
答案 0 :(得分:2)
settings
是一个对象。您正在使用此对象设置所有div的数据。当您致电height
时,您正在更改该对象的字段。因此,其他div也将更新其值...(因为他们的'myPluginData'也指同一个对象)
如果要在该设置对象中存储状态,我建议将extend
命令移到each
内(这样就会为每个元素创建一个不同的对象)。