DOM :Document Object Model ---文档对象模型
DOM属于BOM的一种,当网页被加载时,浏览器会创建页面的文档对象模型
通过可编译的对象模型,JS获得了足够的能力创建动态的html.
-JS 能够改变页面中的所有HTML元素、HTML属性、CSS样式、对页面中所有事件做出反应。
DOM的操作有:
-查找节点、读取节点信息、修改节点信息、创建新的节点、删除节点
读取和修改节点:
nodeName:节点的名称
-文本节点:永远是 #text
-文档节点:永远是#document
nodeType:节点类型,返回的是数值
-属性节点:返回2
-元素节点:返回1
-文本节点:返回3
-注释节点:返回8
-文档节点:返回9
元素节点的内容:
innerText:设置或者获取对象起始和结束标签内的文本
innerHTML: 设置或者获取位于对象起始和结束标签内的HTML(所有的东西)
1.节点的属性(标签里面的 id,class,name 等属性)
.getAttribute(name); 根据属性名name 获取属性的值
.setAttribute(name); 设置节点属性
.removeAttibute(name); 删除name 属性
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>文档对象模型</title> </head> <body> <h1>节点属性</h1> <a id="a1" href="www.baidu.com" > 修改节点信息 </a> <script type="text/javascript"> var a1=document.getElementById("a1"); var href=a1.getAttribute("href"); //获取属性的值 a1.removeAttribute("href"); // 删除href 属性 a1.setAttribute("href","属性值"); </script> </body> </html>
2.获取节点的方式:
(1)document.getElementById( "id" );
通过指定ID返回元素节点对象(整个节点),忽略文档结构(不管他的父元素是什么) ,如果没有改元素则返回NULL;
(2) document.getElementByName("name");
通过指定name返回元素节点对象(整个节点),忽略文档结构(不管他的父元素是什么) ,如果没有改元素则返回NULL;
(3) document.getElementsByTagName("label");
通过指定的标签名返回所有的该标签元素,类型是一个数组。
3.增加节点:
var newNode=document.createElement(" input "); //创建 input 标签
// 设置标签属性:
newNode.id=" input ";
newNode.type=" text ";
newNode.value=" 文本 ";
加入HTML 的两种方法:
(1)parentNode.appendChild(newNode); //作为子节点追加到父节点parentNode的最后面。
(2)parentNode.insertBefore( newNode, node);作为子节点插入父节点parentNode中子节点node的前面。
(3)删除节点
var parentNode=document.getElementById("parentId");//获取父元素节点
var childNode=document.getElementById("childId"); //获取子元素节点
parentNode.removeChild(childNode);//删除节点childNode