JQuery数据select器没有用.data更新

基本上,如果我有一个div加载到一个data-test属性的页面,并用jQuery的.data('test')更改它的值我不能再select元素与$('div[data-test="newValue"]')

在这里看到testing:

http://jsfiddle.net/VNaFs/1/

jQuery .data()最初是用data-属性中的值填充的,但是设置它只是将相关的新值存储在内存中。 它不会更改DOM中的属性。 要更改属性,您必须使用:

 $('#one, #three').attr('data-test', 'changed'); 

该文档位于http://api.jquery.com/jQuery.data/

这是因为我认为.data()使用jQuery中的特殊caching对象来存储数据(实际上你可以存储对象或复杂的数据),如果你检查所有的属性是不变的。 如果你想改变属性,使用attr()