根据documentation,。removeFove()将导致被删除属性的值恢复为DOM中同名数据属性的值。
问:这是什么意思?答案 0 :(得分:2)
鉴于此(初始)HTML源代码:
<div data-x="1"></div>
考虑以下代码:
div.data('x'); // returns 1
div.data('x', 2);
div.data('x'); // returns 2
div.removeData('x');
div.data('x'); // returns 1
(其中div
指的是DOM中的DIV对象。)
现场演示: http://jsfiddle.net/DyGBB/
因此,data('x')
最初将返回该DIV的data-x
HTML属性的值。但是,如果您以编程方式设置此相同的数据属性:data('x', 2)
,则data('x')
不再返回data-x
HTML属性的值,而是使用{{{}存储的值1}}。
如果您现在执行data('x', ...)
,则会删除以编程方式设置的值,以便removeData('x')
再次返回data('x')
HTML属性的值。
请注意,一旦页面加载并构建了DOM,“HTML属性”就不再存在了。但是,DOM元素包含data-x
属性,该属性是一个对象,其中包含HTML源代码中HTML元素上定义的每个HTML属性的相应属性。
答案 1 :(得分:1)
如果您的对象对应于以下html元素:
&lt; div data-attname =&#34;某些值&#34;&gt;&lt; / div&gt;
然后javascript对象的属性名为&#34; attname&#34;将恢复到某些价值&#34;从你设置的任何东西。