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