使用jquery删除多个html5数据属性

前端之家收集整理的这篇文章主要介绍了使用jquery删除多个html5数据属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以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.

删除单个数据属性没有问题.

  1. <a title="title" data-loremIpsum="Ipsum" data-loremDolor="Dolor"></a>
  2. $('a').removeAttr('data-loremipsum');

问题是,如何删除多个数据属性

更多细节:

>出发点是我有多个(让我们说.. 60)
不同的数据属性,我想删除所有这些.
>首选方法是仅定位包含单词lorem的数据属性.在这种情况下,lorem始终是第一个词. (如果算上数据,则为秒数)
>另外,我想保持所有其他属性不变

解决方法

  1. // Fetch an array of all the data
  2. var data = $("a").data(),i;
  3. // Fetch all the key-names
  4. var keys = $.map(data,function(value,key) { return key; });
  5. // Loop through the keys,remove the attribute if the key contains "lorem".
  6. for(i = 0; i < keys.length; i++) {
  7. if (keys[i].indexOf('lorem') != -1) {
  8. $("a").removeAttr("data-" + keys[i]);
  9. }
  10. }

小提琴:http://jsfiddle.net/Gpqh5/

猜你在找的jQuery相关文章