HTML DOM 属性对象

HTML DOM (Document Object Model) 中, 所有的都是 节点

  • 文档是文档节点
  • 所有 HTML 元素是元素节点
  • 所有 HTML 属性都是属性节点
  • 插入到 HTML 元素中的文本为文本节点
  • 注释是注释节点

Attr 对象

HTML DOM 中, Attr 对象 代表一个 HTML 属性

HTML 属性总是属于 HTML 元素

NamedNodeMap 对象

HTML DOM 中, NamedNodeMap 对象 表示一个无顺序的节点列表

可以通过节点名称来访问 NamedNodeMap 中的节点

浏览器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

所有主流浏览器都支持 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 参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.