使用Javascript操作DOM的一些方法–元素的訪問/複製等

來源:互聯網
上載者:User
  1. getElementById(id)
    這是通過id來訪問某一元素,最常用的之一,例:
    <html>
    <body>
    <div id="myid">
    test
    </div>
    <script language="javascript">
    alert(document.getElementById("myid").innerHTML);
    </script>
    </body>
    </html>

    注意點:如果元素的ID不是唯一,則會取得第一個該ID名稱的元素
  2. getElementsByName(name)
    這是通過name來取得某一堆元素(作為數組),看Element後面有個小s就知道了,ID是HTML文檔中要求唯一的,name可以不是唯一,如checkbox、radio等地方會用到多個input用同一個name來識別是否為同黨。對了,getElementsByName(name)僅用於取得input、radio、checkbox等元素,如<input name="myradio" type="radio" />
  3. getElementsByTagName(tagname) 看這方法就知道這也是取得某一堆元素(作為數組),是通過TagName也就是標籤名來取得。你可以遍曆這個數組獲得每一個單獨的元素。當一個DOM結構很大時,可以通過它來有效地縮小搜查範圍。
    <html>
    <head>
    <script>
    function test() {
    testall=document.getElementsByTagName("body");
    testbody=testall.item(0); //獲得所有tagName是body的元素(當然每個頁面只有一個)
    testall=testbody.getElementsByTagName("p");// 獲得body子項目種的所有P元素
    testnode=testall.item(1); // 獲得第二個P元素
    alert(testnode.firstChild.nodeValue); //顯示這個元素的文本
    }
    </script>
    </head>
    <body>
    <p>hi</p>
    <p>hello</p>
    <script language="javascript">
    test();
    </script>
    </body>
    </html>
  4. appendChild(node)
    向當前的元素(應該叫對象比較恰當)追加節點。
    <html>
    <body>
    <head>
    </head>
    <div id="test"></div>
    <script type="text/javascript">
    var newdiv=document.createElement("div")
    var newtext=document.createTextNode("A new div")
    newdiv.appendChild(newtext)
    document.getElementById("test").appendChild(newdiv)
    </script>
    </body>
    </html>

    剛才我在第一個例子中為了顯示出內容,用了innerHTML,剛才看到文章才得知innerHTMl不屬於DOM。
  5. removeChild(childreference)
    刪除當前節點的子節點,返回被刪除的節點。
    這個被刪除的節點可以被插入到別的地方
    <html>
    <body>
    <div id="parent"><div id="child">A child</div></div>
    <script language="javascript">
    var childnode=document.getElementById("child")
    var removednode=document.getElementById("parent").removeChild(childnode)
    </script>
    </body>
    </html>
  6. cloneNode(deepBoolean)
    複製並返回當前節點的複製節點,複製節點是一個孤立節點,它複製了原節點的屬性,在把這個新節點加入到document前,根據需要修改ID屬性確保其ID的唯一。
    這個方法支援一個布爾參數,當deepBoolean設定true時,複製當前節點的所有子節點,包括該節點內的文本。
    <html>
    <body>
    <p id="mynode">test</p>
    <script language="javascript">
    p=document.getElementById("mynode")
    pclone = p.cloneNode(true);
    p.parentNode.appendChild(pclone);
    </script>
    </body>
    </html>
  7. replaceChild(newChild, oldChild)
    把當前節點的一個子節點換成另一個節點
    <html>
    <body>
    <div id="mynode2">
    <span id="orispan">span</span>
    </div>
    <script language="javascript">
    var orinode=document.getElementById("orispan");
    var newnode=document.createElement("p");
    var text=document.createTextNode("test ppp ");
    newnode.appendChild(text);
    document.getElementById("mynode2").replaceChild(newnode, orinode);
    </script>
    </body>
    </html>
相關文章

聯繫我們

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