理解dom:DOM 就是针对 HTML 和 XML 提供的一个API。什么意思?就是说为了能以编程的方法操作这个 HTML 的内容(比如添加某些元素、修改元素的内容、删除某些元素),我们把这个 HTML 看做一个对象树(DOM树),它本身和里面的所有东西比如 <div></div> 这些标签都看做一个对象,每个对象都叫做一个节点(node),节点可以理解为 DOM 中所有 Object 的父类。
事件:节点就是对象
onload事件(from1_Load)
页面的dom结构加载完毕后会触发这个事件
C#事件就是一个委托变量
JavaScript就是方法
节点类型:
文件节点
元素节点
属性节点
获得节点方式:
<node>.nodeType
为节点添加事件的方法:
<node>.onclick=function(){ }
获得节点
节点对象: document.getElementById(“Id的字符串”)
获得页面中指定的ID的节点对象
节点集合: document.getElementsByTagName(“标签名”);
获得页面中所有标签要求的标签
父节点.getElementsByTagName(“标签名”);
获得指定父节点下的所有名字符合要求的节点
属性(如果是元素节点,那么他可以有子节点)
<node>.childNodes 获得节点下的所有子节点
<node>.firstChild <node>.childNodes[0]
<node>.lastChild <node>.childNodes[<node>.childNodes.length-1]
修改节点
所谓的修改节点就是修改节点的属性包括文本
修改属性的方法(dom—core)
<node>.setAttribute(“属性名”,“值”);
修改文本:<node>.getAttribute(“属性名”);
dom—HTML
<node>style.属性名=值;
创建节点:
元素节点:
var node = document.createElement(“标签名”);
文本节点: var textNode=document.createTextNode("文本");
<节点>.innerHTML=“文本”;
<节点>.innerText="文本";
属性节点: <节点>.setAttribute(..., ...);
追加节点:
追加到尾部:父节点.appendChild(子节点);
插入到中间:(插入到某一节点的前面)
父节点.insertBefore(新元素,旧元素);
删除节点
语法:父节点.removeChild(子节点);