Javascript的各種節(jié)點操作實例演示代碼
更新時間:2012年06月27日 16:07:48 作者:
實例演示對javascript的節(jié)點的各種操作。包括hasChildNodes(),removeChild(),appendChild(),replaceChild(),insertBefore(),cloneNode()等
代碼如下:
<!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的節(jié)點操作"></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">
//搞清楚這三種 元素節(jié)點 屬性節(jié)點 文本節(jié)點
// 1:元素節(jié)點(對于元素節(jié)點,nodeName保存的始終是元素的標(biāo)簽名,而nodeValue的值始終是null)
var element_node=document.getElementById('test');
//alert(element_node.nodeType); // 1
//alert(element_node.nodeName); // input
//alert(element_node.nodeValue); // null
// 2:屬性節(jié)點
var attr_node=document.getElementById('test').getAttributeNode('name');
alert(attr_node.nodeType); // 2
alert(attr_node.nodeName); // name 屬性名
alert(attr_node.nodeValue); // nn 屬性值
// 3:文本節(jié)點
var all=document.getElementById('t').firstChild;
//alert(all.nodeType); // 3
//alert(all.nodeName); // #text
//alert(all.nodeValue); // bbb 文本內(nèi)容
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()方法:判定一個節(jié)點是否有子節(jié)點,有返回true,沒有返回false
//alert(tt5.hasChildNodes()); // false
//alert(tt6.hasChildNodes()); // true
//removeChild()方法:去除一個節(jié)點
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').removeChild(first_node); // 刪除第一個節(jié)點 aaa
// appendChild()方法:添加一個節(jié)點 如果文檔樹中已經(jīng)存在該節(jié)點,則將它刪除,然后在新位置插入。
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').appendChild(first_node); // aaa變成了最后一個節(jié)點
// replaceChild()方法:從文檔樹中刪除(并返回)指定的子節(jié)點,用另一個節(jié)點來替換它
//insertBefore()方法:在指定節(jié)點的前面插入一個節(jié)點,如果已經(jīng)存在,則刪除原來的,然后在新位置插入。
var newd=document.createElement("span");
newd.innerHTML="eee";
//document.getElementById('t1').appendChild(newd); // 加載一個子節(jié)點
var oldd=document.getElementById('t1').lastChild;
//document.getElementById('t1').replaceChild(newd,oldd); // 替換最后一個子節(jié)點
//document.getElementById('t1').insertBefore(newd,oldd); // 在指定位置前面插入一個節(jié)點 aaabbbeeeccc
// cloneNode()方法:復(fù)制一個節(jié)點,該方法有一個參數(shù),true表示同時復(fù)制所有的子節(jié)點,false表示近復(fù)制當(dāng)前節(jié)點。
var what=document.getElementById('fuzhi').cloneNode(true).innerHTML;
document.getElementById('m').innerHTML=what;
</script>
</body>
</html>
復(fù)制代碼 代碼如下:
<!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的節(jié)點操作"></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">
//搞清楚這三種 元素節(jié)點 屬性節(jié)點 文本節(jié)點
// 1:元素節(jié)點(對于元素節(jié)點,nodeName保存的始終是元素的標(biāo)簽名,而nodeValue的值始終是null)
var element_node=document.getElementById('test');
//alert(element_node.nodeType); // 1
//alert(element_node.nodeName); // input
//alert(element_node.nodeValue); // null
// 2:屬性節(jié)點
var attr_node=document.getElementById('test').getAttributeNode('name');
alert(attr_node.nodeType); // 2
alert(attr_node.nodeName); // name 屬性名
alert(attr_node.nodeValue); // nn 屬性值
// 3:文本節(jié)點
var all=document.getElementById('t').firstChild;
//alert(all.nodeType); // 3
//alert(all.nodeName); // #text
//alert(all.nodeValue); // bbb 文本內(nèi)容
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()方法:判定一個節(jié)點是否有子節(jié)點,有返回true,沒有返回false
//alert(tt5.hasChildNodes()); // false
//alert(tt6.hasChildNodes()); // true
//removeChild()方法:去除一個節(jié)點
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').removeChild(first_node); // 刪除第一個節(jié)點 aaa
// appendChild()方法:添加一個節(jié)點 如果文檔樹中已經(jīng)存在該節(jié)點,則將它刪除,然后在新位置插入。
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').appendChild(first_node); // aaa變成了最后一個節(jié)點
// replaceChild()方法:從文檔樹中刪除(并返回)指定的子節(jié)點,用另一個節(jié)點來替換它
//insertBefore()方法:在指定節(jié)點的前面插入一個節(jié)點,如果已經(jīng)存在,則刪除原來的,然后在新位置插入。
var newd=document.createElement("span");
newd.innerHTML="eee";
//document.getElementById('t1').appendChild(newd); // 加載一個子節(jié)點
var oldd=document.getElementById('t1').lastChild;
//document.getElementById('t1').replaceChild(newd,oldd); // 替換最后一個子節(jié)點
//document.getElementById('t1').insertBefore(newd,oldd); // 在指定位置前面插入一個節(jié)點 aaabbbeeeccc
// cloneNode()方法:復(fù)制一個節(jié)點,該方法有一個參數(shù),true表示同時復(fù)制所有的子節(jié)點,false表示近復(fù)制當(dāng)前節(jié)點。
var what=document.getElementById('fuzhi').cloneNode(true).innerHTML;
document.getElementById('m').innerHTML=what;
</script>
</body>
</html>
您可能感興趣的文章:
- JavaScript DOM節(jié)點操作方法總結(jié)
- JavaScript 節(jié)點操作 以及DOMDocument屬性和方法
- js操作DOM--添加、刪除節(jié)點的簡單實例
- JavaScript操作HTML DOM節(jié)點的基礎(chǔ)教程
- JavaScript節(jié)點及列表操作實例小結(jié)
- Js操作樹節(jié)點自動折疊展開的幾種方法
- 使用js完成節(jié)點的增刪改復(fù)制等的操作
- js和jquery對dom節(jié)點的操作(創(chuàng)建/追加)
- javascript學(xué)習(xí)筆記(十九) 節(jié)點的操作實現(xiàn)代碼
- javascript dom操作之cloneNode文本節(jié)點克隆使用技巧
- JavaScript原生節(jié)點操作小結(jié)
相關(guān)文章
JavaScript面向?qū)ο蟮膶崿F(xiàn)方法小結(jié)
這篇文章主要介紹了JavaScript面向?qū)ο蟮膶崿F(xiàn)方法,實例總結(jié)了兩種常見的面向?qū)ο蟮膶崿F(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04js關(guān)于精確計算和數(shù)值格式化以及直接引js文件
本文為大家介紹下關(guān)于精確計算和數(shù)值格式化以及直接引js文件,大家可以學(xué)習(xí)下2014-01-01Google (Local) Search API的簡單使用介紹
這篇文章主要介紹了Google (Local) Search API的簡單使用。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11Three.js利用性能插件stats實現(xiàn)性能監(jiān)聽的方法
Three.js 是一款運行在瀏覽器中的 3D 引擎,你可以用它創(chuàng)建各種三維場景,而下面這篇文章主要給大家介紹了關(guān)于Three.js如何利用性能插件stats實現(xiàn)性能監(jiān)聽的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09