教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

UI培訓(xùn)實(shí)戰(zhàn)教程js中dom操作總結(jié)

更新時(shí)間:2015年12月29日15時(shí)14分 來源:傳智播客UI培訓(xùn)學(xué)院 瀏覽次數(shù):

 
 

1.1   直接引用結(jié)點(diǎn)

1.document.getElementById(id);
在文檔里面通過id來找結(jié)點(diǎn)
 
2.document.getElementsByTagName(tagName);
返回一個(gè)數(shù)組,包含對(duì)這些結(jié)點(diǎn)的引用
如:document.getElementsByTagName("span");將返回所有類型為span的結(jié)點(diǎn)

1.2   間接引用結(jié)點(diǎn)

1.element.childNodes
返回element的所有子結(jié)點(diǎn),可以用element.childNodes[i]的方式來調(diào)用
element.firstChild=element.childNodes[0];
element.lastChild=element.childNodes[element.childNodes.length-1];
 
2.element.parentNode
引用父結(jié)點(diǎn)
 
3.引用兄弟節(jié)點(diǎn)
element.nextSibling; //引用下一個(gè)兄弟結(jié)點(diǎn)
element.previousSibling; //引用上一個(gè)兄弟結(jié)點(diǎn)
 

1.3   三.獲得結(jié)點(diǎn)信息

1.nodeName屬性獲得結(jié)點(diǎn)名稱
對(duì)于元素結(jié)點(diǎn)返回的是標(biāo)記名稱,如:返回的是"a"
對(duì)于屬性結(jié)點(diǎn)返回的是屬性名稱,如:class="test" 返回的是test
對(duì)于文本結(jié)點(diǎn)返回的是文本的內(nèi)容
 
2.nodeType返回結(jié)點(diǎn)的類型
元素結(jié)點(diǎn)返回1
屬性結(jié)點(diǎn)返回2
文本結(jié)點(diǎn)返回3
 
3.nodeValue返回結(jié)點(diǎn)的值
元素結(jié)點(diǎn)返回null
屬性結(jié)點(diǎn)返回undefined
文本結(jié)點(diǎn)返回文本內(nèi)容
 
4.hasChildNodes()判斷是否有子結(jié)點(diǎn)
 
5.tagName屬性返回元素的標(biāo)記名稱
這個(gè)屬性只有元素結(jié)點(diǎn)才有,等同于元素結(jié)點(diǎn)的nodeName屬性
 

1.4   處理屬性結(jié)點(diǎn)

1.每個(gè)屬性結(jié)點(diǎn)都是元素結(jié)點(diǎn)的一個(gè)屬性,可以通過(元素結(jié)點(diǎn).屬性名稱)訪問
 
2.利用setAttribute()方法給元素結(jié)點(diǎn)添加屬性
elementNode.setAttribute(attributeName,attributeValue);
attributeName為屬性的名稱,attributeValue為屬性的值
 
3.使用getAttribute()方法獲得屬性值
elementNode.getAttribute(attributeName);
 

1.5   處理文本結(jié)點(diǎn)

innerHTM 和 innerText
獲取節(jié)點(diǎn)中html 獲取節(jié)點(diǎn)中的文本

1.6   改變文檔的層次結(jié)構(gòu)

1.document.createElement()方法創(chuàng)建元素結(jié)點(diǎn)
如:document.createElement("Span");
 
2.document.createTextNode()方法創(chuàng)建文本結(jié)點(diǎn)
如:document.createTextNode(" "); //注:他不會(huì)通過html編碼,也就是說這里創(chuàng)建的不是空格,而是字符串
 
3.使用appendChild()方法添加結(jié)點(diǎn)
parentElement.appendChild(childElement);
 
4.使用insertBefore()方法插入子節(jié)點(diǎn)
parentNode.insertBefore(newNode,referenceNode);
newNode為插入的節(jié)點(diǎn),referenceNode為將插入的節(jié)點(diǎn)插入到這之前
 
5.使用replaceChild方法取代子結(jié)點(diǎn)
parentNode.replaceChild(newNode,oldNode);
注:oldNode必須是parentNode的子結(jié)點(diǎn),
 
6.使用cloneNode方法復(fù)制結(jié)點(diǎn)
node.cloneNode(includeChildren);
includeChildren為bool,表示是否復(fù)制其子結(jié)點(diǎn)
 
7.使用removeChild方法刪除子結(jié)點(diǎn)
parentNode.removeChild(childNode);
 

1.7   表格的操作

注:ie中無法直接將一個(gè)完整的表格結(jié)點(diǎn)插入到文檔中
1.添加行和單元格
var _table=document.createElement("table"); //創(chuàng)建表
table.insertRow(i); //在table的第i行插入行
row.insertCell(i); //在row的第i個(gè)位置插入單元格
 
2.引用單元格對(duì)象
table.rows[i].cells[i];
 
3.刪除行和單元格
table.deleteRow(index);
row.deleteCell(index);
 

本文版權(quán)歸傳智播客UI培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客UI培訓(xùn)學(xué)院
首發(fā):http://8y3kgpwe.cn/ui 
 
 
 
0 分享到:
和我們?cè)诰€交談!