3

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

数据与元素。我知道我们可以使用removeAttrjquery 来删除特定的属性,

但我想知道有什么方法可以一次性删除data-吗?

4

2 回答 2

7

不,您必须遍历它们并单独删除它们。例如:

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);
    }
}

现场复制| 资源

...或类似的规定。

于 2012-07-11T10:33:28.073 回答
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);
于 2012-07-11T10:40:08.683 回答