javaScript DOM編程經常使用的方法與屬性

來源:互聯網
上載者:User

標籤:不同的   set   lsp   沒有   insert   介面   white   rms   收集   

DOM是Document Object Model文件物件模型的縮寫。依據W3C DOM規範,DOM是一種與瀏覽器,平台,語言無關的介面,使得你能夠訪問頁面其它的標準組件。


Node介面的特性和方法
特性/方法 類型/放回類型 說明
nodeName String 節點的名字;依據節點的類型而定義
nodeValue String 節點的值。依據節點的類型而定義
nodeType Number 節點的類型常量值之中的一個
ownerDocument Document 指向這個節點所屬的文檔
firstChild Node 指向在childNodes列表中的第一個節點
lastChild Node 指向在childNodes列表中的最後一個節點
childNodes NodeList 全部子節點的列表
previousSibling Node 指向前一個兄弟節點;假設這個節點就是第一個兄弟節點。那麼該值為null
nextSibling Node 指向後一個兄弟節點;假設這個節點就是最後一個兄弟節點,那麼該值為null
hasChildNodes() Boolean 當childNodes包括一個或多個節點時。返回真
attributes NamedNodeMap 包括了代表一個元素的特性的Attr對象。僅用於Element節點
appendChild(node) Node 將node加入到childNodes的末尾
removeChild(node) Node 從childNodes中刪除node
replaceChild (newnode, oldnode) Node 將childNodes中的oldnode替換成newnode
insertBefore (newnode, refnode) Node 在childNodes中的refnode之前插入newnode


hasChildNodes() -- 查看是否存在子節點
該方法用來檢查一個元素是否有子節點,返回值是 true 或 false.

var booleanValue = element.hasChildNodes();
文本節點和屬性節點不可能再包括不論什麼子節點,所以對這兩類節點使用 hasChildNodes 方法的返回值永遠是 false.


replaceChild() -- 節點替換
把一個給定父元素裡的一個子節點替換為另外一個子節點

var reference = element.replaceChild(newChild,oldChild);
返回值是一個指向已被替換的那個子節點的引用指標。
假設被插入的子節點還有子節點,則那些子節點也被插入到目標節點中


getAttribute()   -- 尋找屬性節點
返回一個給定元素的一個給定屬性節點的值

var attributeValue = element.getAttribute(attributeName);
給定屬性的名字必須以字串的形式傳遞給該方法。
給定屬性的值將以字串的形式返回,假設給定屬性不存在,getAttribute() 將返回一個Null 字元串.


setAttribute() -- 設定屬性節點
將給定元素節點加入一個新的屬性值或改變它的現有屬性的值。

 element.setAttribute(attributeName,attributeValue);
屬性的名字和值必須以字串的形式傳遞給此方法
假設這個屬性已經存在。它的值將被重新整理;
假設不存在,setAttribute()方法將先建立它再為其賦值。


createElement() -- 建立新元素節點
依照給定的標籤名建立一個新的元素節點。

方法僅僅有一個參數:將被建立的元素的名字。是一個字串.

var reference = document.createElement(element);
方法的返回值:是一個指向建立節點的引用指標。返回值是一個元素節點。所以它的 nodeType 屬性值等於 1。
新元素節點不會自己主動加入到文檔裡,新節點沒有 nodeParent 屬性。它僅僅是一個存在於 JavaScript 內容相關的對象.
var pElement = document.createElement("p");


createTextNode() -- 建立新文本節點
建立一個包括著給定文本的新文本節點。

這種方法的返回值是一個指向建立文本節點引用指標。


  var textNode = document.createTextNode(text);
方法僅僅有一個參數:建立文本節點所包括的文本字串
方法的返回值:是一個指向建立節點的引用指標。它是一個文本節點,所以它的 nodeType 屬性等於 3.
新元素節點不會自己主動加入到文檔裡,新節點沒有 nodeParent 屬性

var pElementText=document.createElement("li");var textElement=document.createTextNode("南京");pElementText.appendChild(textElement);


appendChild() -- 插入節點(1)
為給定元素添加一個子節點:                                   
   var newreference = element.appendChild(newChild).              
   給定子節點 newChild 將成為給定元素節點 element 的最後一個子節點。
方法的返回值是一個指向新增子節點的引用指標。
該方法通常與 createElement() createTextNode() 配合使用
新節點能夠被追加給文檔中的不論什麼一個元素

 var newliElement=document.createElement("li"); var textNode=document.createTextNode("北京"); newliElement.appendChild(textNode); document.body.appendChild(newliElement);  var liElement=document.getElementsByTagName("li"); var textValue=liElement[0].firstChild.nodeValue; alert(textValue);


insertBefore() -- 插入節點(2)
把一個給定節點插入到一個給定元素節點的給定子節點的前面
var reference =  element.insertBefore(newNode,targetNode);
節點 newNode 將被插入到元素節點 element 中並出如今節點 targetNode 的前面.
節點 targetNode 必須是 element 元素的一個子節點。


該方法通常與 createElement() 和 createTextNode() 配合使用

<ul id="city">     <li value="beijing^" id="beijing">北京</li>        </ul><ul id="city01">   <li value="shanghai^" id="shanghai">上海</li>          </ul> //擷取父節點 var parentCityNode=document.getElementById("city"); //擷取子節點 var beijingNode=document.getElementById("beijing"); var shanghaiNode=document.getElementById("shanghai"); //插入 parentCityNode.insertBefore(shanghaiNode,beijingNode);


removeChild() -- 刪除子節點
從一個給定元素裡刪除一個子節點
var reference = element.removeChild(node);
返回值是一個指向已被刪除的子節點的引用指標。


某個節點被removeChild()方法刪除時,這個節點所包括的全部子節點將同一時候被刪除。


<ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>var ulElement=document.getElementById("city");var liElement=document.getElementById("beijing");ulElement.removeChild(liElement);
假設想刪除某個節點,但不知道它的父節點是哪一個。parentNode 屬效能夠幫忙。

<ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>var liElement=document.getElementById("beijing");var parentElement=liElement.parentNode;parentElement.removeChild(liElement);


ChildNodes -- 遍曆節點樹

ChildNodes:返回一個數組,這個數組由給定元素節點的子節點構成:

var nodeList = node.childNodes;
文本節點和屬性節點都不可能再包括不論什麼子節點,所以它們的 ChildNodes 屬性永遠會返回一個空數組。
假設想知道某個元素有沒有子節點,能夠用 hasChildNodes 方法。


假設想知道某個元素有多少個子節點。能夠用 childNodes 數組的 length 屬性。


childNodes 屬性是一個僅僅讀屬性。


firstChild -- 擷取第一個子節點

firstChild:該屬性返回一個給定元素節點的第一個子節點,返回這個節點對象的指標。


var reference = node.firstChild;
文本節點和屬性節點都不可能包括不論什麼子節點,所以它們的 firstChild 屬性永遠會返回 null。
某個元素的 firstChild 屬性等價於這個元素的 childNodes 節點集合中的第一個節點,即:
var reference = node.ChildNodes[0];
firstChild 屬性是一個僅僅讀屬性。


lastChild:擷取最後一個子節點。

nextSibling: 返回一個給定節點的下一個兄弟節點。

previousSibling:返回一個給定節點的上一個兄弟節點。

parentNode:返回一個給定節點的父節點。
parentNode 屬性返回的節點永遠是一個元素節點,由於僅僅有元素節點才有可能包括子節點。
document 節點的沒有父節點。




Document 對象的集合
集合 描寫敘述
all[] 提供對文檔中全部 HTML 元素的訪問。

anchors[] 返回對文檔中全部 Anchor 對象的引用。
applets 返回對文檔中全部 Applet 對象的引用。

forms[] 返回對文檔中全部 Form 對象引用。

images[] 返回對文檔中全部 Image 對象引用。

links[] 返回對文檔中全部 Area 和 Link 對象引用。

Document 對象的屬性
屬性 描寫敘述
body 提供對 <body> 元素的直接訪問。

對於定義了框架組的文檔,該屬性引用最外層的 <frameset>。

cookie 設定或返回與當前文檔有關的全部 cookie。
domain 返回當前文檔的網域名稱。
lastModified 返迴文檔被最後改動的日期和時間。
referrer 返回載入當前文檔的文檔的 URL。
title 返回當前文檔的標題。
URL 返回當前文檔的 URL。

Document 對象的方法
方法 描寫敘述
close() 關閉用 document.open() 方法開啟的輸出資料流,並顯示選定的資料。
getElementById() 返回對擁有指定 id 的第一個對象的引用。

getElementsByName() 返回帶有指定名稱的對象集合。

getElementsByTagName() 返回帶有指定標籤名的對象集合。
open() 開啟一個流,以收集來自不論什麼 document.write() 或 document.writeln() 方法的輸出。
write() 向文檔寫 HTML 運算式 或 JavaScript 代碼。

writeln() 等同於 write() 方法,不同的是在每一個運算式之後寫一個分行符號。



javaScript DOM編程經常使用的方法與屬性

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.