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方法的詳細(xì)介紹
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方法的詳細(xì)介紹
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)文章
微信小程序?qū)崿F(xiàn)導(dǎo)航欄和內(nèi)容上下聯(lián)動功能代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)導(dǎo)航欄和內(nèi)容上下聯(lián)動功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
JavaScript 總結(jié)幾個提高性能知識點(推薦)
下面小編就為大家?guī)硪黄狫avaScript 總結(jié)幾個提高性能知識點(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
交叉觀察器?IntersectionObserver用法詳解
這篇文章主要為大家介紹了交叉觀察器?IntersectionObserver用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
js實現(xiàn)綠白相間豎向網(wǎng)頁百葉窗動畫切換效果
這篇文章主要介紹了js實現(xiàn)綠白相間豎向網(wǎng)頁百葉窗動畫切換效果,實例分析了javascript實現(xiàn)百葉窗動畫效果的技巧,需要的朋友可以參考下2015-03-03
微信小程序bindtap與catchtap的區(qū)別詳解
本文主要介紹了微信小程序bindtap與catchtap的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
iframe的onload在Chrome/Opera中執(zhí)行兩次Bug的解決方法
創(chuàng)建iframe對象,添加load事件, 再將iframe添加到body中。Chrome/Opera中會造成load事件的handler執(zhí)行兩次。2011-03-03
javascript應(yīng)用:Iframe自適應(yīng)其加載的內(nèi)容高度
javascript應(yīng)用:Iframe自適應(yīng)其加載的內(nèi)容高度...2007-04-04

