javascript – 删除元素的所有动态“数据属性”

参见英文答案 > Remove multiple html5 data-attributes with jquery                                    6个
我有一个div,在某些标签添加了动态数据属性.
(数据的名称 – 由脚本动态生成属性,因此我的脚本无法知道数据属性名称)

现在,我想编写一个代码,通过删除所有数据属性及其值来重置div.

我可以用

$('div').attr('data-209329',"")

但问题是我不知道将要添加的数据属性名称.
添加的数据属性是动态的,我无法控制它.

删除div并重新插入div不是一个选项.
请帮忙.
提前致谢

最佳答案
你可以这样使用

var data = $("div").data();

var keys = $.map(data,function (value,key) {
    return key;
});
for (i = 0; i < keys.length; i++) {
    $("div").removeAttr("data-" + keys[i]);
}

Fiddle

编辑

由@Mottie推荐

$.each($('div').data(),function (i) {
    $("div").removeAttr("data-" + i);
});

Demo

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些