HTML DOM Element removeAttributeNode() 方法
定义和用法
removeAttributeNode()
方法从元素中删除属性,并返回 Attribute 对象。
removeAttribute() 和 removeAttributeNode() 的区别
removeAttribute()
方法删除属性,并且没有返回值。
removeAttributeNode()
方法删除 Attr 对象,并返回移除的对象。
结果将是相同的。
替代方案:
使用 removeAttribute() 方法 更容易。
另请参阅:
参考手册:
教程:
实例
例子 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 | 支持 | 支持 | 支持 | 支持 |