HTML DOM 属性 对象
HTML DOM 节点
在 HTML DOM (Document Object Model) 中, 所有的都是 节点:
- 文档是文档节点
- 所有 HTML 元素是元素节点
- 所有 HTML 属性都是属性节点
- 插入到 HTML 元素中的文本为文本节点
- 注释是注释节点
Attr 对象
在 HTML DOM 中, Attr 对象 代表一个 HTML 属性。
HTML属性总是属于HTML元素。
NamedNodeMap 对象
在 HTML DOM 中, the NamedNodeMap 对象 表示一个无顺序的节点列表。
我们可通过节点名称来访问 NamedNodeMap 中的节点。
浏览器支持





所有主流浏览器都支持 Attr 对象和 NamedNodeMap 对象。
| 属性 / 方法 | 描述 | 
|---|---|
| attr.isId | 如果属性是 ID 类型,则 isId 属性返回 true,否则返回 false。 | 
| attr.name | 返回属性名称 | 
| attr.value | 设置或者返回属性值 | 
| attr.specified | 如果属性被指定返回 true ,否则返回 false | 
| nodemap.getNamedItem() | 从节点列表中返回的指定属性节点。 | 
| nodemap.item() | 返回节点列表中处于指定索引号的节点。 | 
| nodemap.length | 返回节点列表的节点数目。 | 
| nodemap.removeNamedItem() | 删除指定属性节点 | 
| nodemap.setNamedItem() | 设置指定属性节点(通过名称) | 
DOM 4 警告 !!!
在 W3C DOM 内核中, Attr (属性) 对象继承节点对象的所有属性和方法 。
在 DOM 4 中, Attr (属性) 对象不再从节点对象中继承。
从长远的代码质量来考虑,在属性对象中你需要避免使用节点对象属性和方法:
| 属性 / 方法 | 避免原因 | 
|---|---|
| attr.appendChild() | 属性没有子节点 | 
| attr.attributes | 属性没有属性 | 
| attr.baseURI | 使用 document.baseURI 替代 | 
| attr.childNodes | 属性没有子节点 | 
| attr.cloneNode() | 使用 attr.value 替代 | 
| attr.firstChild | 属性没有子节点 | 
| attr.hasAttributes() | 属性没有属性 | 
| attr.hasChildNodes | 属性没有子节点 | 
| attr.insertBefore() | 属性没有子节点 | 
| attr.isEqualNode() | 没有意义 | 
| attr.isSameNode() | 没有意义 | 
| attr.isSupported() | 通常为 true | 
| attr.lastChild | 属性没有子节点 | 
| attr.nextSibling | 属性没有兄弟节点 | 
| attr.nodeName | 使用 attr.name 替代 | 
| attr.nodeType | 通常为 2 (ATTRIBUTE-NODE) | 
| attr.nodeValue | 使用 attr.value 替代 | 
| attr.normalize() | 属性没有规范 | 
| attr.ownerDocument | 通常为你的 HTML 文档 | 
| attr.ownerElement | 你用来访问属性的 HTML 元素 | 
| attr.parentNode | 你用来访问属性的 HTML 元素 | 
| attr.previousSibling | 属性没有兄弟节点 | 
| attr.removeChild | 属性没有子节点 | 
| attr.replaceChild | 属性没有子节点 | 
| attr.textContent | 使用 attr.value 替代 | 

 JavaScript 教程
JavaScript 教程 JavaScript 对象
JavaScript 对象 jQuery 教程
jQuery 教程 JSON 教程
JSON 教程 AngularJS 教程
AngularJS 教程 Angular 2 教程
Angular 2 教程 Vue.js 教程
Vue.js 教程 React 教程
React 教程 jQuery UI 教程
jQuery UI 教程 jQuery EasyUI 教程
jQuery EasyUI 教程 AJAX 教程
AJAX 教程 Highcharts 教程
Highcharts 教程 Google Maps API 教程
Google Maps API 教程 ES6 教程
ES6 教程 TypeScript教程
TypeScript教程 ES6 标准入门
ES6 标准入门