JavaScript:DOM編程1

來源:互聯網
上載者:User

JavaScript:DOM編程1


JavaScript:DOM編程
1.節點及其類型
1)元素節點
2)屬性節點:元素的屬性,通常情況下, 操作屬性節點直接通過 "元素節點.屬性名稱" 的方式來讀寫屬性值
3)文本節點:是元素的子節點,其內容為文本

donot forget me


element node : p
attribute node : title="name"
text node :donot forget me

2.js在html中的位置
在中,寫在window.onload = function(){ // js代碼 };
window.onload事件,在文檔載入完成後執行,故在這裡可以獲得任何元素。

3.如何擷取元素節點
Element getElementById(String elementId):根據id屬性擷取對應的單個節點
NodeList getElementByTagName(String tagName):根據標籤名擷取指定節點的集合
NodeList getElementByName(String elementName):根據節點的name屬性擷取節點的集合
但IE的實現方式和W3C標準有差別:在html文檔中,若某個節點(例如li)沒有name屬性,則IE使用getElementByName()不能擷取到節點,但是Firefox可以

4.擷取屬性節點
1)**可以通過Node.id(節點.屬性)的方式來擷取和設定屬性節點的值
2)通過元素節點getAttributeNode(name)方法來擷取屬性節點,然後再通過nodeValue來讀寫屬性值

5.擷取元素節點的子節點(**只有元素節點才有子節點!!)
1)childNodes屬性擷取全部的子節點,但方法不實用。因為如果要擷取指定的節點的指定子節點的結合,可以直接調用元素節點的getElementByTagName()方法來擷取
2)firstChild屬性擷取第一個子節點
3)lastChild屬性最後一個子節點
4)parentNode屬性擷取父節點

6.擷取文本節點:
1)步驟:元素節點-->擷取元素節點的子節點
2)若元素節點只有一個文本節點一個子節點
例如

  • 北京


    可以先擷取到指定的元素節點eleNode,然後利用eleNode.forstChild.nodeValue的方法來讀寫其文本節點的值

    7.節點屬性(nodeType、nodeName、nodeValue)
    nodeType、nodeName、nodeValue是每個Node都有的屬性,像id、name是具體某個節點所具有的屬性
    1)nodeName:代表當前節點的名字,唯讀屬性。**如果給定節點是一個文本節點,nodeName是#text
    2)nodeType:返回一個整數,這個數值代表給定節點是類型。唯讀屬性。1--元素節點,2--屬性節點,3--文本節點
    **3)nodeValue:返回給定節點的當前值(字串)。可讀寫屬性
    ①元素節點,返回值是null
    ②屬性節點,返回值是這個屬性的值
    ③文本節點,返回值是這個文本節點的內容
    8.建立一個元素節點
    1).createElement(String elementName):按照給定的標籤名建立一個新的元素節點。
    方法只有一個參數:被建立的元素節點的名字,是一個字串。
    方法的返回值:是一個指向建立節點的引用指標,返回值是一個元素節點,所以它的nodeType屬性值等於1
    **新元素節點不會自動添加到文檔裡,它只是一個存在於JavaScript內容相關的對象
    9.建立一個文本節點
    1).createTextNode(String textValue):建立一耳光包含著給定文本的新文本節點,返回值是一個指向新文本節點的引用指標
    方法只有一個參數:建立文本節點鎖包含的文本字串,新元素節點不會自動添加到文檔整裡。
    10.為元素節點添加子節點
    1)appendChild(Node node)
    var reference = element.appendChild(newChild);
    給定子節點newChild將成為給定元素節點element的最後一個子節點
    方法的返回值是一個指向新增子節點的引用指標
    11.節點的替換
    1).replaceChild():把一個給定父元素裡的一個子節點替換為另外一個子節點
    var reference = element.replaceChild(newChild,lodChild)
    返回值是一個指向已被替換的那個子節點的引用指標
    2).該節點除了替換功能以外還有移動的功能
    3).該方法只能完成單向替換,若需要使用雙向替換,需要自訂函數
    12.刪除節點
    1).removeChild():從一個指定元素裡刪除一個子節點
    var reference = element.removeChild(node)
    返回值是一個指向已被刪除的子節點的引用指標,某個節點被removeChild()方法刪除時,這個節點所包含的所有子節點將同時被刪除
    如果刪除某個節點,但不知道其父節點,可以通過parentNode屬性擷取
    13.插入節點
    1).insertBefore():把一個給定節點插入到一個給定元素節點的給定子節點的前面
    var reference = element.insertBefore(newNode,targetNode)
    節點newNode將被插入到元素節點element中並出現在targetNode的前面
    節點targetNode必須是element元素的一個子節點
    14.innerHTML 屬性
    1).瀏覽器幾乎都支援該屬性,但不是DOM標準的組成部分
    innerHTML 屬性可以用來讀寫某個給定元素裡的HTML內容
    15.其他屬性
    parentNode屬性:擷取給定元素的父節點
    nextSibling屬性:擷取給定元素的上一個元素
    previousSibling屬性:擷取給定元素的下一個元素


  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.