JQuery data 方法清空缓存

 

      最近在用jQuery.nestable.js插件做一个菜单排序和添加菜单的功能,在使用nestable的serIalize方法获取数据时总是返回控件第一次加载的值。

跟了源码以后发下了如下代码:

 

 

发现,每个li的所有data-*的值是通过jquery的data方法获取的(不清楚data方法作用的同学可以百度下),而data方法在获取值的时候会判断是否有缓存,如果有就返回缓存里边的值。

最后的解决办法是在调用li.data();之前清空li相关的缓存,最后对插件做了如下修改解决问题:

关于cleanData()这个方法最初是不知道的,后来百度extend 才知道有这么个方法,不知道是不是最好的解决办法,希望有前端大神多多指教!!!

时隔多年终于又遇到了这个问题,看到之前的评论有人问这个方法如何调用,今天就再次补充下。cleanData 是JQuery的函数,入参有两个:1.要清除缓存的DOM,2. 布尔值(咱不清楚什么作用,但传True好使)。完整的函数模式是: JQuery.cleanData( [elm], True )

你可能感兴趣的:(JQuery data 方法清空缓存)