1.1 直接引用結(jié)點(diǎn)
1.document.getElementById(id);
在文檔里面通過(guò)id來(lái)找結(jié)點(diǎn)
2.document.getElementsByTagName(tagName);
返回一個(gè)數(shù)組,包含對(duì)這些結(jié)點(diǎn)的引用
如:document.getElementsByTagName("span");將返回所有類(lèi)型為span的結(jié)點(diǎn)
1.2 間接引用結(jié)點(diǎn)
1.element.childNodes
返回element的所有子結(jié)點(diǎn),可以用element.childNodes[i]的方式來(lá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)名稱(chēng)
對(duì)于元素結(jié)點(diǎn)返回的是標(biāo)記名稱(chēng),如:返回的是"a"
對(duì)于屬性結(jié)點(diǎn)返回的是屬性名稱(chēng),如:class="test" 返回的是test
對(duì)于文本結(jié)點(diǎn)返回的是文本的內(nèi)容
2.nodeType返回結(jié)點(diǎn)的類(lèi)型
元素結(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)記名稱(chēng)
這個(gè)屬性只有元素結(jié)點(diǎn)才有,等同于元素結(jié)點(diǎn)的nodeName屬性
1.4 處理屬性結(jié)點(diǎn)
1.每個(gè)屬性結(jié)點(diǎn)都是元素結(jié)點(diǎn)的一個(gè)屬性,可以通過(guò)(元素結(jié)點(diǎn).屬性名稱(chēng))訪(fǎng)問(wèn)
2.利用setAttribute()方法給元素結(jié)點(diǎn)添加屬性
elementNode.setAttribute(attributeName,attributeValue);
attributeName為屬性的名稱(chēng),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ì)通過(guò)html編碼,也就是說(shuō)這里創(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中無(wú)法直接將一個(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://xamj520.com/ui