DOM:Document Object Model、文档对象模型。用来访问和操作文档。每个载入浏览器的 HTML 文档都会成为 document 对象,document 对象是 window 对象的属性。
一切皆节点;整个文档是一个文档节点;每个 HTML 标签是一个元素节点;每个 HTML 属性是一个属性节点;包含在 HTML 标签中的文本是文本节点;注释属于注释节点。HTML 文档中的所有节点组成一个节点树;树根为 document 对象,通过 document 对象来操作整个节点树,一棵节点树中的所有节点彼此都有关系。
节点属性:
- nodeName:节点名称。元素节点会返回标签名称;属性节点会返回属性名称;文本节点会返回
#text;文档节点会返回#document。<select> <option id=”01” >a</option> </select> var opNode=document.getElementById(“01”); console.log(opNode.nodeName); // option - nodeType:节点类型,返回值为数值。元素节点返回1;属性节点返回 2;文本节点返回 3;注释节点返回 8;文档节点返回 9。
- DOM 遍历:
- 向上遍历:parentNode 返回父节点。
- 向下遍历:
- childNodes:返回当前节点的所有子节点。也就是说,childNodes 会返回所有节点,包括HTML、Text、注释等等内容。
- children:返回当前节点的的所有元素节点。也就是说,children 返回的是 HTML 元素标签。
- firstChild:返回当前节点的第一个子节点。
- lastChild:返回当前节点的最后一个子节点。
- 水平遍历:
- previousSibling:前一个同级节点。
- nextSibling:后一个同级节点。
- 节点内容:
- innerText:设置或者获取从标签起始位置到终止位置中的文本。
<div id=”div1”></div> var div=document.getElementById(“div1”); div.innerText = "<span style='color:red;'>哈哈</span>"
- innerHTML:设置或者获取从标签起始位置到终止位置中的全部内容,包括 HTML 标签+文本,但不包括自身。
<div id=”div1”></div> var div=document.getElementById(“div1”); div.innerHTML = "<span style='color:red;'>哈哈</span>"
- innerText:设置或者获取从标签起始位置到终止位置中的文本。
- style:节点的 style 样式。
<p id=”p1”>一周畅销榜</p> var p=document.getElementById(“p1”); p.style.color=”red”; p.style.fontSize=”20”; - className:节点的 class 类。
p.className=”样式类名称”
节点方法:
-
查找节点:
document.getElementById():根据元素 id 查找节点。如果 id 值错误,返回 null。document.getElementsByClassName():通过 class 查找节点,返回元素对象数组。document.getElementsByTagName():根据标签名查找节点。如果标签名错误,返回长度为 0 的节点列表。document.getElementsByName():根据标签的 name 属性的值查找节点。
-
创建节点:
document.createElement():创建新节点。//创建新节点 var newNode=document.createElement(“Input”) //设置节点信息 newNode.type=”text”; newNode.value=”marry”; newNode.style.color=”red”;document.createTextNode(String):创建一个文本节点。
-
插入节点:
父节点.appendChild(newNode):插入新节点,新节点作为父节点的最后一个子节点。父节点.insertBefore(newNode,refNode):插入节点,新节点位于 refNode 节点之前。
-
删除节点:
父节点.removeChild(childNode):删除子节点。
-
复制节点:
要复制的节点.cloneChild():只复制节点本身,不复制子节点。要复制的节点.cloneChild(true):既复制节点本身,也复制子节点。
-
替换节点:
父节点.replaceChild(newnode, oldnode);
-
操作属性:
getAttribute():根据属性名称获取属性的值。setAttribute():根据属性名称设置属性的值。removeAttribute():根据属性名称删除属性的值。
<a href=”default.axpx” id=”a1”>click me </a> var a1=document.getElementById(“a1”); var href=a1.getAttribute(“href”);//default.axpx -
getBoundingClientRect():获取元素节点的大小及其相对于视口的位置。返回值是一个 DOMRect 对象,使用 top、bottom、left、right、x、y、width 和 height 这几个只读属性描述元素节点的位置和大小。- top:元素上边到视口上边的距离。
- bottom:元素下边到视口上边的距离。
- left:元素左边到视口左边的距离。
- right:元素右边到视口左边的距离。
var rect = element.getBoundingClientRect()
本文详细介绍了DOM(文档对象模型)的概念,包括节点类型、属性、方法及遍历方式。讲解了如何使用JavaScript操作HTML文档,如查找、创建、添加、删除和替换节点,以及获取和设置节点的样式和内容。
1047

被折叠的 条评论
为什么被折叠?



