2、元素对象(element对象)  

** 要操作element对象,首先必须要获取到element  

- 使用document里面相应的方法获取  

 

** 方法  

*** 获取属性里面的值  

getAttribute("属性名称")  

 

*** 设置属性的值  

setAttribute("属性名称","传入值")  

 

*** 删除属性  

removeAttribute("属性名称")  

不能删除value  

 

*** 想要获取标签下面的子标签  

** 使用childNodes,这个方法兼容性差  

** 获取标签下面子标签的唯一有效办法,使用getElementsByTagName方法  

 

3、Node对象属性一  

* nodeName  

* nodeType  

* nodeValue  

 

* 使用dom解析html时候,需要html里面的标签,属性和文本都封装成对象  

 

* 标签结点对应的值  

nodeType:1  

nodeName:大写标签名称  

nodeValue:null  

 

* 属性结点对应的值  

nodeType:2  

nodeName:属性名称  

nodeValue:属性的值  

 

* 文本节点对应的值  

nodeType:3  

nodeName:#text  

nodeValue:文本内容  

 

4、Node对象属性二  

<ul>  
<li>tough</li>  
<li>sarah</li>  
</ul>

 

* 父节点  

- ul是li的父节点  

- parentNode  

* 子节点  

- li是ul的子节点  

- childNodes:得到所有子节点,但是兼容性很差  

- firstChild:获取第一个子节点  

- laseChild:获取最后一个子节点  

 

* 同辈节点  

- li直接关系是同辈节点  

- newxSibling:返回一个给定节点的下一个兄弟节点  

- previousSibling:返回一个给定节点的上一个兄弟节点  

 

5、操作dom树  

** appendChild方法  

- 添加子节点到末尾  

- 特点:类似于剪切粘贴的效果  

 

** insertBofore(newNode,oldNode)方法  

- 在某个节点之前插入一个新的节点  

- 两个参数  

* 要插入的节点  

* 在谁之前插入  

- 插入一个节点,新插入节点由于不存在需要创建一个  

1、创建标签  

2、创建文本  

3、把文本添加到标签下面  

<ul id=ul1>  
<li id="li1">tough</li>  
<li id="li2">sarah</li>  
</ul>  
/*

要在tough和sarah中间插入一个新的标签 doggy  

*/  

1、获取到li2标签  

var li2 = document.getElementById("li2");

2、创建li  

var li3 = document.createElement("li");

3、创建文本  

var text3 = document.createTextNode("doggy");

4、把文本添加到li里面  

li3.appendChild(text3);

5、获取到ul  

var ul1 = document.getElementById("ul1");

6、把li添加到ul下面(既把新标签添加到sarah之前)  

ul1.insertBefore(li3,li2);

 

** removeChild方法:删除节点  

- 通过父节点删除,不能自己删除自己  

 

** replaceChild(newNode,oldNode)方法:替换节点  

- 不能自己替换自己,通过父节点替换  

- 两个参数  

** 第一个参数:新的节点,要替换的节点  

** 第二个参数:旧的节点,被取代的节点  

 

** cloneNode 复制节点  
<div id="div1">  
<ul id=ul1>  
<li id="li1">tough</li>  
<li id="li2">sarah</li>  
</ul>  
</div>  
/*

把<ul id=ul1>复制到div里面去  

*/  

1、获取ul  

var ul1 = document.getElementById("ul1");  

2、执行复制方法cloneNode复制 true  

var ulcopy = ul1.cloneNode(true);//复制,放到类似于剪切板里面  

3、获取div  

var div1 = document.getElementById("div1");  

4、执行复制放入div里面去  

div1.appendChild(ulcopy);  

 

** 注意:执行div1.appendChild()方法时,应调用ulcopy而不是ul1,如果调用ul1相当于剪切复制。  

 

** 操作dom总结  

* 获取节点的使用方法  

getElementById(): 通过节点的id属性,查找对应节点  

getElementByName():通过节点的name属性,查找对应节点  

getElementByTagName():通过节点名称,查找对应节点  

 

* 插入节点方法  

insertBefore方法:在某个节点之前插入  

appendChild方法:在末尾添加,相当于剪切粘贴  

 

* 删除节点方法  

removeChild方法:通过父节点删除  

 

* 替换节点方法  

replaceChild方法:通过父节点替换  

 

6、innerHTML属性  

* 这个属性不是don的组成部分,但是大多数浏览器都支持这个属性  

 

第一个作用:获取文本内容  

<span id = "span1">  
<h1>tough</h1>  
</span>  
var spannew = document.getElementById("span1")  
alert(spannew.innerHTML); //显示tough

 

第二个作用:向标签里面设置内容(可以是html代码)  

<div id = "div1">  
<h1>tough</h1>  
</div>  
var divnew = document.getElementById("div1");  
divnew.innerHTML = "<h1>Sarah</h1>";