概述
JavaScrip 文档对象简称 DOM ;全称Document Object Model 文档对象模型;文档:就是HTMl网页文档;对象:表示将网页中的每一个部分都转换为了一个对象;模型:使用模型来表示对象之间的关系,这样方便我们获取对象。
DOM文档对象模型中的节点(Node):是构成我们网页的最基本的组成部分,网页中的每一个部分都可以称为是一个节点。比如:html标签、属性、文本、注释、整个文档等都是一个节点;虽然都是节点,但是实际上我们的具体类型是不同的。比如:标签我们称为元素节点、属性称为属性节点、文本称为文本节点、文档称为文档节点;节点的类型不同,属性和方法也不同;
常用的节点:文档节点、元素节点、文本节点、属性节点;文档节点就是:整个HTML文档,网页中的所有节点都是它的子节点。document对象作为window对象的属性存在,我们不用获取可以直接使用,通过该对象我们可以在整个文档访问内查找节点对象,并可以通过该对象来创建各种节点对象。
元素节点:HTML中的各种标签都是元素节点,也就是我们最常用的一个节点。浏览器会将页面中所有的标签都转换为一个元素节点,我们可以通过document的方法来获取元素节点。比如:document.getElementById(),根据id属性获取一个元素节点对象。
文本节点(text):表示的是HTML标签以外的文本内容,任意非HTML的文本都是文本节点。它包括可以字面解释的纯文本内容;一百是作为元素节点的字节点存在的,获取文笔节点时,一般先要获取元素节点。在通过元素节点获取文本节点:例如:元素节点.lastChild;(获取元素节点中的最后一个字节点);
属性节点:表示的是标签中的一个的属性,这里要注意的是属性节点并非是元素节点的字节点,而是元素节点的一部分;可以通过元素节点来获取指定的属性节点,例如:元素节点.getAttributeNode(“属性名”);但是一般不使用属性节点,在这里说下。下面是一个HTML Dom 树的关系图:
对了,节点还有一些属性例如:nodeName 属性:节点的名称,是只读的。在每个不同代表着不同的含义:1.元素节点的nodeName与标签名相同;2.属性节点的nodeName是属性的名称;3.文本节点的nodeName永远是#text;4.文档节点的nodeName 永远是#document;
nodeValue 属性:节点的值;1.元素节点的nodeValue是undefined或null;2.稳步节点的nodeValue是文本自身。3.属性节点的nodeValue 是属性的值;
nodeType属性:节点的类型,元素为1;属性为2;文本为3;注释为8;文档为9;
关于这些属性的语法如下:
获取元素节点:通过document对象的调用:getElementById()通过id属性获取一个元素节点对象;
getElementsByTagName():通过标签名获取一组元素节点对象;getElementsByName()通过name属性获取一组元素节点对象;getElementsByClassName()通过标类名获取一组元素节点对象,该方法不支持IE8及以下的版本;
元素节点的属性:获取方法:元素对象.属性名;例如element.value 、element.id、element.className;
设置,元素对象.属性名=新的值 例如:element.value = “hello” element.id = “id1”;
其他属性:1.nodeValue:文本节点可以通过nodeValue属性获取和设置文本节点的内容;
2.innerHTMl:元素节点通过该属性获取和设置标签内部的html代码;
使用css选择器进行查询,querySelector(),querySelectorAll();这两个方法都是用document对象来调用,都是传递一个选择器字符串作为参数,方法会自动根据选择器字符串去网页中查找元素。不同的地方是querySelector()只会返回找到的第一个元素,而querySelectorAll()会返回所以符合条件的元素。
节点的修改:这里的修改主要是针对元素节点的操作;1.创建节点:document.createElement(标签名);2.删除节点:父节点.removeChild(子节点);3.替换节点:父节点.replaceChild(新节点,旧节点);
4.插入节点:父节点.appendChild(子节点) 父节点.insertBefore(新节点,旧节点);
最后
以上就是会撒娇大山为你收集整理的JavaScript文档对象模型总结的全部内容,希望文章能够帮你解决JavaScript文档对象模型总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复