jQuery对象html5自定义属性正在缓存DATA。
在我的应用程序中,我有一个表单,其中包含一个具有不断变化的自定义数据属性的字段,这种特定的行为对于表单的功能是必不可少的。
有一个输入字段,其中包含一些默认的自定义属性:
<input type="text" name="xxx" data-test="4">
$('input').data()
,结果为{ test="4" }
$('input').attr('data-test','5')
对于$('input').data()
,结果仍然为{ test="4" }
如何使用$.data()
函数始终确保获取所有REAL自定义属性,元素上可以有多个?我在每次获取之前尝试过$.removeData()
,但它会从元素中完全清除所有数据,因此无法再访问它。
答案 0 :(得分:7)
您需要执行此操作:$('input').data( 'test' , 5 )
如果您致电.attr( 'test' , 5 )
,您将设置一个属性,并且您正在影响它<input type='text' data-test='4' test='5' />
注意,您可以获得如下特定数据属性:var test = $('input').data('test');
修改
要删除特定数据属性,您可以执行以下操作:jQuery.removeData( $( 'input' ) , "test" );