HTML DOM Element removeAttributeNode() 方法

定义和用法

removeAttributeNode() 方法从元素中删除属性,并返回 Attribute 对象

removeAttribute() 和 removeAttributeNode() 的区别

removeAttribute() 方法删除属性,并且没有返回值。

removeAttributeNode() 方法删除 Attr 对象,并返回移除的对象。

结果将是相同的。

替代方案:

使用 removeAttribute() 方法 更容易。

另请参阅:

参考手册:

getAttributeNode() 方法

setAttributeNode() 方法

createAttribute() 方法

getAttribute() 方法

setAttribute() 方法

hasAttribute() 方法

Attribute value 属性

HTML DOM Attribute 对象

教程:

HTML 属性

实例

例子 1

从第一个 <h1> 元素中删除 class 属性节点:

const element = document.getElementsByTagName("H1")[0];

const attr = element.getAttributeNode("class");
element.removeAttributeNode(attr);

亲自试一试

例子 2

从链接中删除 href 属性节点:

const element = document.getElementById("myAnchor");

const attr = element.getAttributeNode("href");
element.removeAttributeNode(attr);

亲自试一试

语法

element.removeAttributeNode(oldAttr)

参数

参数 描述
oldAttr 必需。要删除的属性节点。

返回值

类型 描述
对象 表示已删除属性的 Attr 对象。

抛出

异常 描述
NO_MODIFICATION_ALLOWED_ERR 当前元素是只读的,不允许删除属性。
NOT_FOUND_ERR oldAttr 不是当前元素的属性。

说明

该方法将从当前元素的属性集合中删除(并返回)Attr 节点。如果 DTD 给删除的属性设置了默认值,那么该方法将添加一个新的 Attr 节点,表示这个默认值。

提示:removeAttribute() 方法 代替该方法往往会更简单。

浏览器支持

element.removeAttributeNode() 是 DOM Level 1 (1998) 特性。

所有浏览器都完全支持它:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 9-11 支持 支持 支持 支持