所以jquery api说如下:
Removing data from jQuery’s internal .data() cache does not effect any HTML5 data- attributes in a document; use .removeAttr() to remove those.
<a title="title" data-loremIpsum="Ipsum" data-loremDolor="Dolor"></a> $('a').removeAttr('data-loremipsum');
更多细节:
>出发点是我有多个(让我们说.. 60)
不同的数据属性,我想删除所有这些.
>首选方法是仅定位包含单词lorem的数据属性.在这种情况下,lorem始终是第一个词. (如果算上数据,则为秒数)
>另外,我想保持所有其他属性不变
解决方法
// Fetch an array of all the data var data = $("a").data(),i; // Fetch all the key-names var keys = $.map(data,function(value,key) { return key; }); // Loop through the keys,remove the attribute if the key contains "lorem". for(i = 0; i < keys.length; i++) { if (keys[i].indexOf('lorem') != -1) { $("a").removeAttr("data-" + keys[i]); } }