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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的HTML相关文章