javascript節(jié)點操作DOMDocument屬性和方法
最近發(fā)現(xiàn)DOMDocument對象很重要,還有XMLHTTP也很重要
注意大小寫一定不能弄錯.
屬性:
1Attributes 存儲節(jié)點的屬性列表(只讀)
2childNodes 存儲節(jié)點的子節(jié)點列表(只讀)
3dataType 返回此節(jié)點的數(shù)據(jù)類型
4Definition 以DTD或XML模式給出的節(jié)點的定義(只讀)
5Doctype 指定文檔類型節(jié)點(只讀)
6documentElement 返回文檔的根元素(可讀寫)
7firstChild 返回當(dāng)前節(jié)點的第一個子節(jié)點(只讀)
8Implementation 返回XMLDOMImplementation對象
9lastChild 返回當(dāng)前節(jié)點最后一個子節(jié)點(只讀)
10nextSibling 返回當(dāng)前節(jié)點的下一個兄弟節(jié)點(只讀)
11nodeName 返回節(jié)點的名字(只讀)
12nodeType 返回節(jié)點的類型(只讀)
13nodeTypedValue 存儲節(jié)點值(可讀寫)
14nodeValue 返回節(jié)點的文本(可讀寫)
15ownerDocument 返回包含此節(jié)點的根文檔(只讀)
16parentNode 返回父節(jié)點(只讀)
17Parsed 返回此節(jié)點及其子節(jié)點是否已經(jīng)被解析(只讀)
18Prefix 返回名稱空間前綴(只讀)
19preserveWhiteSpace 指定是否保留空白(可讀寫)
20previousSibling 返回此節(jié)點的前一個兄弟節(jié)點(只讀)
21Text 返回此節(jié)點及其后代的文本內(nèi)容(可讀寫)
22url 返回最近載入的XML文檔的URL(只讀)
23Xml 返回節(jié)點及其后代的XML表示(只讀)
方法:
1appendChild 為當(dāng)前節(jié)點添加一個新的子節(jié)點,放在最后的子節(jié)點后
2cloneNode 返回當(dāng)前節(jié)點的拷貝
3createAttribute 創(chuàng)建新的屬性
4createCDATASection 創(chuàng)建包括給定數(shù)據(jù)的CDATA段
5createComment 創(chuàng)建一個注釋節(jié)點
6createDocumentFragment 創(chuàng)建DocumentFragment對象
7createElement 創(chuàng)建一個元素節(jié)點
8createEntityReference 創(chuàng)建EntityReference對象
9createNode 創(chuàng)建給定類型,名字和命名空間的節(jié)點
10createPorcessingInstruction 創(chuàng)建操作指令節(jié)點
11createTextNode 創(chuàng)建包括給定數(shù)據(jù)的文本節(jié)點
12getElementsByTagName 返回指定名字的元素集合
13hasChildNodes 返回當(dāng)前節(jié)點是否有子節(jié)點
14insertBefore 在指定節(jié)點前插入子節(jié)點
15Load 導(dǎo)入指定位置的XML文檔
16loadXML 導(dǎo)入指定字符串的XML文檔
17removeChild 從子結(jié)點列表中刪除指定的子節(jié)點
18replaceChild 從子節(jié)點列表中替換指定的子節(jié)點
19Save 把XML文件存到指定節(jié)點
20selectNodes 對節(jié)點進行指定的匹配,并返回匹配節(jié)點列表
21selectSingleNode 對節(jié)點進行指定的匹配,并返回第一個匹配節(jié)點
22transformNode 使用指定的樣式表對節(jié)點及其后代進行轉(zhuǎn)換
23transformNodeToObject 使用指定的樣式表將節(jié)點及其后代轉(zhuǎn)換為對象
*********************************
DOM(文檔對象模型)
DOM(文檔對象模型)概念的推出,這個API使HTML如虎添翼,但是有些學(xué)DHTML的朋友還是有些困撓,只是因為目前的手冊的書寫不太科學(xué),是按字母
來分的,不便查閱.其實DOM中最關(guān)鍵是要掌握節(jié)點與節(jié)點之間的關(guān)系(between node andnode),想學(xué)習(xí)DHTML中的DOM千萬不要從頭到尾地看遍所
有的屬性和方法,你有三國時張松的"過目不忘"的本領(lǐng)嗎?沒有吧,那就聽我分析一下:
其實DOM教給我們的就是一個層次結(jié)構(gòu),你可以理解為一個樹形結(jié)構(gòu),就像我們的目錄一樣,一個根目錄,根目錄下有子目錄,子目錄下還有子
目錄……
根節(jié)點:
DOM把層次中的每一個對象都稱之為節(jié)點(NODE),以HTML超文本標(biāo)記語言為例:整個文檔的一個根就是<html>,在DOM中可以使用
document.documentElement來訪問它,它就是整個節(jié)點樹的根節(jié)點(ROOT)
子節(jié)點:
一般意義上的節(jié)點,根節(jié)點以下最大子節(jié)點就是主文檔區(qū)<body>了,要訪問到body標(biāo)簽,在腳本中應(yīng)該寫:
document.body
body區(qū)以內(nèi)所有的文本及HTML標(biāo)簽都是文檔的節(jié)點,分別稱為文本節(jié)點、元素節(jié)點(或者叫標(biāo)簽節(jié)點),大家知道HTML說到底只是文本而矣,
不論怎么樣的網(wǎng)頁必然由這兩個節(jié)點組成,也只能由這兩個節(jié)點組成
節(jié)點之間的關(guān)系:
節(jié)點之間的關(guān)系也是DOM中最重要的一個關(guān)節(jié),如何正確地引用到節(jié)點對象,一定要清楚節(jié)點樹各個節(jié)點的相互描述方式,在DHTML里,
Javascript腳本就用了各個節(jié)點對象的一整套方法和屬性去描述另外的節(jié)點對象。
節(jié)點的絕對引用:
返回文檔的根節(jié)點
document.documentElement
返回當(dāng)前文檔中被擊活的標(biāo)簽節(jié)點
document.activeElement
返回鼠標(biāo)移出的源節(jié)點
event.fromElement
返回鼠標(biāo)移入的源節(jié)點
event.toElement
返回激活事件的源節(jié)點
event.srcElement
節(jié)點的相對引用:(設(shè)當(dāng)前對節(jié)點為node)
返回父節(jié)點
node.parentNode
node.parentElement
返回子節(jié)點集合(包含文本節(jié)點及標(biāo)簽節(jié)點)
node.childNodes
返回子標(biāo)簽節(jié)點集合
node.children
返回子文本節(jié)點集合
node.textNodes
返回第一個子節(jié)點
node.firstChild
返回最后一個子節(jié)點
node.lastChild
返回同屬下一個節(jié)點
node.nextSibling
返回同屬上一個節(jié)點
node.previousSibling
節(jié)點的各種操作:(設(shè)當(dāng)前的節(jié)點為node)
新增標(biāo)簽節(jié)點句柄:
document.createElement(sNode) //參數(shù)為要新添的節(jié)點標(biāo)簽名,例:newnode=document.createElement("div");
1、添加節(jié)點:
追加子節(jié)點:
node.appendChild(oNode) //oNode為生新增的節(jié)點句柄,例:node.appendChild(newnode)
應(yīng)用標(biāo)簽節(jié)點
node.applyElment(oNode,sWhere)//oNode為生新增的節(jié)點句柄,sWhere有兩個值:outside / inside,加在當(dāng)前節(jié)點外面還是里面
插入節(jié)點
inode.insertBefore()
node.insertAdjacentElement()
node.replaceAdjacentText()
2、修改節(jié)點:
刪除節(jié)點
node.remove()
node.removeChild()
node.removeNode()
替換節(jié)點
node.replaceChild()
node.replaceNode()
node.swapNode()
2、復(fù)制節(jié)點:
返回復(fù)制復(fù)制節(jié)點引用
node.cloneNode(bAll)//bAll為布爾值,true / false 是否克隆該節(jié)點所有子節(jié)點
3、節(jié)點信息
是否包含某節(jié)點
node.contains()
是否有子節(jié)點
node.hasChildNodes()
*******************************************************
下面為javascript操作xml
<script language="JavaScript">
<!--
var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")
//加載文檔
//doc.load("b.xml");
//創(chuàng)建文件頭
var p = doc.createProcessingInstruction("xml","version='1.0' encoding='gb2312'");
//添加文件頭
doc.appendChild(p);
//用于直接加載時獲得根接點
//var root = doc.documentElement;
//兩種方式創(chuàng)建根接點
// var root = doc.createElement("students");
var root = doc.createNode(1,"students","");
//創(chuàng)建子接點
var n = doc.createNode(1,"ttyp","");
//指定子接點文本
//n.text = " this is a test";
//創(chuàng)建孫接點
var o = doc.createElement("sex");
o.text = "男"; //指定其文本
//創(chuàng)建屬性
var r = doc.createAttribute("id");
r.value="test";
//添加屬性
n.setAttributeNode(r);
//創(chuàng)建第二個屬性
var r1 = doc.createAttribute("class");
r1.value="tt";
//添加屬性
n.setAttributeNode(r1);
//刪除第二個屬性
n.removeAttribute("class");
//添加孫接點
n.appendChild(o);
//添加文本接點
n.appendChild(doc.createTextNode("this is a text node."));
//添加注釋
n.appendChild(doc.createComment("this is a comment\n"));
//添加子接點
root.appendChild(n);
//復(fù)制接點
var m = n.cloneNode(true);
root.appendChild(m);
//刪除接點
root.removeChild(root.childNodes(0));
關(guān)鍵詞:javascript
閱讀本文后您有什么感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0