html attribute

HTML DOM 节点的概念

HTML DOM(Document Object Model)文件对象模型中,所有的元素都是一个独立的节点:概念如下:

  • 文件(document)本身是一个文书节点
  • 所有的HTML元素称为元素节点
  • 所有的HTML属性称为属性节点
  • 文本文件里的HTML元素称为文本文件节点
  • 注释称为注释节点

属性对象(Attr Object)

HTML DOM中,Attr Object代表了HTML属性。

HTML中的属性属于HTML元素。

NamedNodeMap对象

HTML DOM中,NamedNodeMap对象代表了元素属性节点的无序集合,使用序列号(index)能够访问NamedNodeMap对象。

不同浏览器的对应情况

对象          
Attr yes yes yes yes yes
NamedNodeMap yes yes yes yes yes

元素属性的属性及方法

  • attr.isId如果属性为id型,返回true,否则返回false
  • attr.name返回属性的名称
  • attr.value设置或返回属性的值
  • attr.specified如果是元素已经指定的属性,返回true,否则返回false

namedNodeMap对象相关的属性及方法

注意!!

HTML文档中应该回避使用的属性的属性及方法:

W3C DOM的核心里,属性对象从节点对象继承了很多属性及方法。DOM4中,属性对象(Attr object)不再从节点继承。

属性对象上应该避免使用的属性与方法

HTML文档中应该回避的属性及方法
属性/方法回避原因
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.Type 一直为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代替
posted @ 2017-01-14 15:41  天涯海角路  阅读(271)  评论(0)    收藏  举报