如何从div元素中删除data-属性?

时间:2012-07-11 10:31:39

标签: javascript jquery

我有一个html div元素,其中包含许多HTML-5 data-属性来存储额外的

带元素的数据。我知道我们可以使用jquery的removeAttr删除特定属性

但我想知道有没有办法删除data- all atonce?

2 个答案:

答案 0 :(得分:7)

不,你必须循环遍历它们并单独删除它们。 E.g:

var $div = $("selector for the div"),
    attrs = $div[0].attributes,
    name,
    index;
for (index = attrs.length - 1; index >= 0; --index) {
    name = attrs[index].nodeName;
    if (name.substring(0, 5) === "data-") {
        $div.removeAttr(name);
    }
}

Live copy | source

......或类似的东西。

答案 1 :(得分:6)

不知道有任何批发方式这样做。您必须使用类似

的内容遍历元素的属性
var el = document.querySelector('p');
for (var i=0; i<el.attributes.length; i++)
    if (/^data-/i.test(el.attributes[i].name))
        el.removeAttribute(el.attributes[i].name);