Attr
该类型使用对象来表示一个 DOM 元素的属性。在大多数 DOM 方法中,你可能会直接通过字符串的方式获取属性值(例如Element.getAttribute()),但是一些函数(例如Element.getAttributeNode())或通过迭代器访问时则返回Attr类型。
警告: 从 Gecko 7.0 开始,控制台会输出这些方法和属性将会被移除的警告信息。你应该对代码进行相应的修正。点击废弃的属性和方法查看完整的列表。
警告: 在 DOM4[REC] 中,为了规范化 Attr 的实现,它不再继承自Node。在目前 DOM4.1[WD] 中又有变动,因此不建议使用 Attr 对象上有关Node的属性和方法。
属性
name(en-US) 只读-
该属性的名称
namespaceURI只读-
表示该属性的命名空间 URI
DOMString,如果该元素不在命名空间中,则返回 null。 localName只读-
表示该属性的命名空间限定的本地名称
DOMString。 prefix只读-
表示该属性的命名空间前缀
DOMString,如果没有前缀指定则返回 null。 ownerElement(en-US) 只读-
该属性所附属的元素节点。
备注: 注意: DOM Level 4 移除了这个方法。由于当你从
Element中获得Attr对象时,你应已知相关的元素。 在某些场景下并一定能够得到相关的元素,比如通过Document.evaluate返回的 Attr 对象,最新的 DOM 草案再次引入该属性。Gecko 从 Gecko 7.0 开始会输出一个废弃的提示信息。该提示信息在 Gecko 49.0 再次被删除。
specified(en-US) 只读-
该属性将返回
真。如果这个属性你在源代码或者在脚本中明确指定的话,它总是返回真。否则它是由文档的 DTD 默认定义的,将总是返回假。 value(en-US)-
属性的值
备注: 注意: DOM Level 3 定义namespaceURI, localName和prefix为Node接口。在 DOM4 中被移至Attr。
Chrome 46.0 版本以上、Firefox 48.0 版本以上实现了该改动。
废弃的属性和方法
这些属性已经被废弃,可以使用合适的属性替代。
attributes-
当前该属性总是返回
NULL childNodes已弃用-
当前该属性总是返回一个空的
NodeList. firstChild已弃用-
当前该属性总是返回 NULL isId只读-
表明该属性是否一个“ID 属性”。“ID 属性”的值在整个 DOM 文档中应当是唯一。在 HTML DOM 文档中属性“id”是一个 ID 属性,也是唯一一个 ID 属性;但是在 XML 文档中可以定义其他 ID 属性。一个属性是否是唯一的,通常由DTD (en-US)或其他文档模式描述文件决定。
lastChild-
当前该属性总是返回 NULL nextSibling-
当前该属性总是返回 NULL nodeName-
使用
Attr.name(en-US)来代替 nodeType-
当前该属性总是返回2,表示ATTRIBUTE_NODE nodeValue-
使用
Attr.value(en-US)来代替 ownerDocument-
这个属性本不应当在这里被使用,所以应该无须担心其演变
parentNode-
当前该属性总是返回 NULL previousSibling-
当前该属性总是返回 NULL schemaTypeInfo已弃用 只读-
当前属性的类型信息。然而当加载完文档完或调用
Document.normalizeDocument后,这个被认定为绝对正确的包含在节点内的类型信息,会因为节点的移动而变得不可信。 specified-
当前该属性总是返回 true textContent-
使用
Attr.value(en-US)来代替
这些方法已经被废弃:
appendChild()已弃用-
通过编辑
Attr.value(en-US)属性来实现相同的效果 cloneNode()-
这个方法本不应当在这里被使用,所以无须担心其演变
createAttribute()createAttributeNS()getAttributeNode()getAttributeNodeNS()hasAttributes()已弃用-
当前该方法总是返回false. hasChildNodes()-
当前该方法总是返回false. insertBefore()-
通过编辑
Attr.value(en-US)来实现相同效果 isSupported()-
这个方法本不应当被在这里使用,所以无须担心其演变
isEqualNode()-
这个方法本不应当被在这里使用,所以无须担心其演变
normalize()-
这个方法本不应当被在这里使用,所以无须担心其演变
removeAttributeNode()removeChild()已弃用-
通过编辑
Attr.value(en-US)来实现相同效果 replaceChild()已弃用-
通过编辑
Attr.value(en-US)来实现相同效果 setAttributeNode()setAttributeNodeNS()
规格
| Specification |
|---|
| DOM Standard # interface-attr |
浏览器兼容性
BCD tables only load in the browser