微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/html/426859.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐