Javascript的各種節點操作執行個體示範代碼

來源:互聯網
上載者:User

代碼如下: 複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<title="Javascript的節點操作"></title>
<script type="text/javascript" src="jquery-1.7.js"></script>
</head>
<body>
<input type="button" id="test" name="nn" value="EFG">
<div id = "t">bbb</div>
<div name="parent_test">
<div id = "t1"><span>aaa</span><span>bbb</span><span>ccc</span></div>
</div>
<div id = "fuzhi"><span>AAA</span><span>BBB</span><span>CCC</span></div><div id = "m"></div>
<script type="text/javascript">
//搞清楚這三種 元素節點 屬性節點 文本節點
// 1:元素節點(對於元素節點,nodeName儲存的始終是元素的標籤名,而nodeValue的值始終是null)
var element_node=document.getElementById('test');
//alert(element_node.nodeType); // 1
//alert(element_node.nodeName); // input
//alert(element_node.nodeValue); // null
// 2:屬性節點
var attr_node=document.getElementById('test').getAttributeNode('name');
alert(attr_node.nodeType); // 2
alert(attr_node.nodeName); // name 屬性名稱
alert(attr_node.nodeValue); // nn 屬性值
// 3:文本節點
var all=document.getElementById('t').firstChild;
//alert(all.nodeType); // 3
//alert(all.nodeName); // #text
//alert(all.nodeValue); // bbb 常值內容
var tt1=document.getElementById('t1');
//alert(tt1.firstChild.innerHTML); // aaa
//alert(tt1.lastChild.innerHTML); // ccc
var tt2=tt1.childNodes[1].innerHTML;
//alert(tt2);// bbb
var tt3=tt1.parentNode.getAttribute('name');
//alert(tt3); // parent_test
var tt4=tt1.childNodes[1];
//alert(tt4.nextSibling.innerHTML); // ccc
//alert(tt4.previousSibling.innerHTML); //aaa
// node方法的詳細介紹
var tt5=document.getElementById('test');
var tt6=document.getElementById('t')
// hasChildNodes()方法:判定一個節點是否有子節點,有返回true,沒有返回false
//alert(tt5.hasChildNodes()); // false
//alert(tt6.hasChildNodes()); // true
//removeChild()方法:去除一個節點
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').removeChild(first_node); // 刪除第一個節點 aaa
// appendChild()方法:添加一個節點 如果文檔樹中已經存在該節點,則將它刪除,然後在新位置插入。
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').appendChild(first_node); // aaa變成了最後一個節點
// replaceChild()方法:從文檔樹中刪除(並返回)指定的子節點,用另一個節點來替換它
//insertBefore()方法:在指定節點的前面插入一個節點,如果已經存在,則刪除原來的,然後在新位置插入。
var newd=document.createElement("span");
newd.innerHTML="eee";
//document.getElementById('t1').appendChild(newd); // 載入一個子節點
var oldd=document.getElementById('t1').lastChild;
//document.getElementById('t1').replaceChild(newd,oldd); // 替換最後一個子節點
//document.getElementById('t1').insertBefore(newd,oldd); // 在指定位置前面插入一個節點 aaabbbeeeccc
// cloneNode()方法:複製一個節點,該方法有一個參數,true表示同時複製所有的子節點,false表示近複製當前節點。
var what=document.getElementById('fuzhi').cloneNode(true).innerHTML;
document.getElementById('m').innerHTML=what;
</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.