DOM

dom定义了表示和修改文档所需的方法。dom对象即为数组对象,由浏览器厂商定义,用来操作html和xml功能的一类对象的集合。也有人称dom是对html以及xml的标准编程接口。

DOM基本操作

1.对节点的增删改查

 A.查
  1.查看元素节点
            document代表整个文档。
            document.getElementById()   元素id在le8以下的浏览器,不区分id大小写,而且也返回匹配name属性的元素。
            .getElementsByTagName()     标签名。
            getElementsByName()         需注意,只有一部分标签name可生效(表单,表单元素,img,iframe)。
            .getElementsByClassName()   类名->ie8和ie8以下的ie版本中没有,可以多个class一起。
            .querySelector()            css选择器 在ie7和ie7以下的版本中没有。
            .querySelectorAll()           css选择器 在ie7和ie7以下的版本中没有。
            get...查找的东西是实时的 querySelectorAll查找的东西是静态的。
  2.遍历节点树:(不管什么类型的节点都能遍历)
            parentNode->父节点(最顶端的parentNode为#document)
            childNodes->子节点们
            firstChild->第一个子节点
            lastChild->最后一个子节点
            nextSibling->后一个兄弟节点
            previousSilbing->前一个兄弟节点
  3.基于元素节点树的遍历:
            parentElement->返回当前元素的父元素节点(ie不兼容)
            children->只返回当前元素的元素子节点
            node.childElementCount === node.children.length->当前元素节点的子元素节点个数(ie不兼容)
            firstElementChild->返回的是第一个元素节点(ie不兼容)
            lastElementChild->返回的是最后一个元素节点(ie不兼容)
            nextElementSibling/previousElementSilbing->返回最后一个/前一个兄弟元素节点(ie不兼容)
  4.节点的四个属性
            nodeName->元素的标签名,以大写的形式表示,只读
            nodeValue->Text节点或Comment节点的文本内容,可读写
            nodeType->该节点的类型,只读 [IMPORTANT!!!!!!!!!] 任何元素都有的一个属性
            attributes->Element节点的属性合集
  5.节点的一个方法 Node.hasChildNodes();
  6.dom结构树
            dom结构树代表一系列的继承关系(就近继承)
            原型链:document -->(继承自) HTMLDocument.prototype --> Document.prototype
            HTMLDocument.prototype(对象) --> Document,prototype
                HTMLDocument.prototype = {_proto_:Document,prototype;}
            Document分为 HTMLDocument 和 XMLDocument

2.DOM的基本操作

1.getElementById方法定义在Document.prototype上,即Element节点上不能使用。
2.getElementsByName方法定义在HTMLDocument,prototype上,即非html中的document不能使用(xmldocument,Element)。
3.getElementsByTagName方法定义在Document.prototype和Element.prototype上。
4.HTMLDocument.prototype定义了一些常用的属性,body head分别指代HTML文档中的<body><head>标签
      直接有   已经定义好的   可以直接用   document.body     document.head
5.Document.prototype上定义了documentElement属性,指代文档的根元素,在XML文档中,他总指代<html>元素。
      document.documentElement代表html
6.getElementsByClassName、querySelectorAll、quertSelector在Document.prototype,Element.prototype类中均有定义。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容